typedef struct
tdata;
static int getattribute(lua_state* l)
else if(attribute == "y")
else
lua_pushnumber(l, result);
return 1;
}static struct lual_reg datalib = ,
};void getmetatable(lua_state* l, lual_reg* methods)
}int main()
lual_openlibs(lua);
tdata input = ;
lua_pushlightuserdata(lua, &input);
getmetatable(lua, datalib);
lua_setmetatable(lua, -2);
lua_setglobal(lua, "input");
if (lual_dofile(lua, filename))
lua_getglobal(lua, "data");
int output = lua_tointeger(lua, 0);
std::cout << output << std::endl;
return 0;
}
如何將c結構資料傳給lua
最近需要使用lua來讓策劃那些配置一些邏輯,於是調研了一下lua是如何實現這部分工作的,最終發現乙個通常的策劃是利用lightuserdata和metatable來協調解決這個問題。也即將資料 指標給lua,另外告訴它乙個如何操作這些資料的metamethods即可。請看下面的示例 typedef ...
C 結構體變數的引用 結構體變數引用
c 對結構體變數可以在定義時指定初始值。struct studentstudeng1 c 在定義了結構體變數以後,可以引用這個變數。可以將乙個結構體變數的值賦給另乙個具有相 同結構的結構體變數。student1 student2 可以引用乙個結構體變數中的乙個成員的值。student1.num 表示...
C 結構體概述 輸出結構體變數
c 提供了許多種基本的資料型別,但是由於程式需要處理的問題往往比較複雜,而且呈多樣化,已有的資料型別顯得不能滿足使用要求。因此c 允許程式設計師根據需要自己宣告一些型別,程式設計師可以自己宣告的型別有結構體型別 共用體型別 列舉型別 類型別等,這些都是程式設計師可以自己定義的型別。在乙個組合項中包含...