Hi
I have done a little bit of work with Lua C API bindings, that all went pretty smoothly, but I am having great difficulty understanding userdata and light userdata. I have not found the examples online easy to follow or very helpful, so I am hoping someone on this list might be kind enough to help out. The example I want to implement is to expose to Lua a C structure so Lua can access the individual data variables
struct foo
{
int x;
int y;
int z;
};
struct foo myFoo;
--------------------------------------------------------
-- In Lua I want to do something like
local x = myFoo.x
local y = myFoo.y
--------------------------------------------------------
As I dont want Lua to create myFoo objects, or manage their memory, I am thinking this example should be implemented with light userdata, but dont know how to go about this.
This example is a slightly simplified version of what I need to do, in reality I have a C array, such as struct foo myFoo[3];
so ultimately I would want to do something like this in Lua, local x = myFoo[2].x.
I am not sure how much the array version complicates the solution for the non array version ?
Any example C API code and explanation would be most appreciated if anyone fancies brushing up their skills to try this out ?
Regards Geoff