我可能會誤解他們的使用或誤讀文檔,但是如何訪問作爲light userdata傳遞給Lua的結構或類的成員?例如,如果使用載體下面的結構在Lua中訪問Light userdata
typedef struct Foo {
int x;
int y;
} Foo;
被宣佈爲「測試」並定義爲像X = 413和y = 612,以及與呼叫推
lua_pushlightuserdata(L, (void *) &test) ;
會是什麼操縱或打印x和y的函數的Lua代碼看起來像?
如果您想要操作Lua端的對象,最好使用userdata而不是light userdata。我在這裏用C++寫了一個很長的答案:http://stackoverflow.com/questions/3481856/sending-variable-pointers-back-and-forth-between-c-and-lua/3506654#3506654另外你可以使用lua綁定。 – 2011-06-10 16:48:26