lua如何判斷一個表是否為空 怎么把C中struct結(jié)構(gòu),轉(zhuǎn)換成lua中的table,并傳給lua使用?
怎么把C中struct結(jié)構(gòu),轉(zhuǎn)換成lua中的table,并傳給lua使用?這樣的函數(shù)通??梢杂谩癈擴(kuò)展名”或FFI(foreign function interface的縮寫)搜索您的編程語言名稱。搜
怎么把C中struct結(jié)構(gòu),轉(zhuǎn)換成lua中的table,并傳給lua使用?
這樣的函數(shù)通??梢杂谩癈擴(kuò)展名”或FFI(foreign function interface的縮寫)搜索您的編程語言名稱。搜索“Lua FFI”,您可以找到FFI庫。
如何解析Lua中的table數(shù)據(jù)?
調(diào)用getluavar(luastate,”項目。A.one”),以獲取項目的價值。A.one到堆棧上,然后根據(jù)類型使用Lua|ToNumber(luastate,-1)或Lua|Data void getluavar(Lua)from to字符串(luastate,-1)|State*pLuaState,const char*strVarName){const char*pIndS=strVarNameconst char*pIndE=strVarNameT|B8 bparts=false//判斷是否分為兩部分,因為Lua用于第一部分Getglobal,所以Lua用于其他部分gettablewhile(0!=*pIndE){if(“”==*pIndE){if(bParts){luauuuuPushString(pLuaState,std::string(pIndS,pIndE-pIndS).cuStr())luauGetTable(pLuaState,-2)luauRemove(pLuaState,-2)}else{luauGetGlobal(pLuaState,std::string(pIndS,pIndE-pIndS).cuStr())bParts=true}pIndEpIndS=pIndE}else{pIndE}if(bParts){luaupushstring(pLuaState,std::string(pIndS,pIndE-pIndS).cstr())luaugettable(pLuaState,-2)luauuremove(pLuaState,-2)}else{luauugetglobal(pLuaState,std::string(pIndS,pIndE-pIndS).cstr())}