2013-07-28 4 views
2

Я пытаюсь использовать библиотеку tolua ++ для встраивания сценария Lua в мое приложение на C++. Для меня ясно, как связать классы C++ с Lua, создать их из сценариев Lua и методов вызова. Однако я не могу понять, как вызвать функции сценария Lua из C++ (с передачей аргументов и получением возвращаемого значения).tolua ++ Вызов функции Lua из кода C++

Можете ли вы сказать стандартный способ для этого, используя tolua ++? Ли это tolua ++, или я должен использовать Lua C Api?

ответ

0

Вы должны использовать CAPI, это так:

в Lua:

function showValue(strFirstName, strLastName) 
    strName = strFirstName .. "." .. strLastName 
    print(strName) 
    return strName, "is", 18 
end 

в C++:

lua_getglobal(L, "showValue"); 
    lua_pushstring(L, "William"); 
    lua_pushstring(L, "Hsueh"); 

    lua_pcall(L, 2, 3, 0); 

    // get return values 
    int nOld = lua_tonumber(L, -1); 
    const char *pIs = lua_tostring(L, -2); 
    const char *pName = lua_tostring(L, -3); 

вы можете проверить весь пример на: http://blog.deskangel.com/?p=459

Должность ссылки на китайском языке, но в коде сказано все.

+0

Я не думаю, что это решение. – einverne

+0

@einverne, так, каково ваше решение? – WilliamX

Смежные вопросы