нужно назначить глобальный указатель и использовать его в lua

Я использую luabind и хочу, чтобы этот код lua работал.

print("hello..welcome to lua\n")
base:PrintMe("printing from base" )

Из c ++ я хочу назначить глобальную переменную lua base в качестве указателя на класс Base.

class Base {
public:
void PrintMe(const char *s) { ... }
};

Используя Luabind, я могу привязать базовый класс. Я создаю объект базового класса на С ++. Я хочу переместить этот указатель на lua и использовать его как глобальную переменную lua «base», как показано в приведенном выше коде lua.

Может кто-нибудь помочь мне, самый простой способ сделать это (если возможно, используя сам luabind) ?? Я попытался протолкнуть его как lightuserdata, но PrintMe не вызывается из lua.


person madan kandula    schedule 28.03.2012    source источник
comment
Почему вы не вложили это в ответ?   -  person Nicol Bolas    schedule 28.03.2012


Ответы (1)


Эта строка решит проблему :)

globals(ls) ["base"] = baseObjPtr;
person madan kandula    schedule 30.04.2012