2013-07-28 1 views
2

J'essaie d'utiliser tolua ++ library pour intégrer le script Lua à mon application C++. Il est clair pour moi, comment lier les classes C++ à Lua, les créer à partir du script Lua et des méthodes d'appel. Cependant, je ne peux pas vraiment comprendre comment appeler les fonctions de script Lua à partir de C++ (en passant des arguments et en obtenant une valeur de retour).tolua ++ Appel de la fonction Lua à partir du code C++

Pouvez-vous s'il vous plaît dire la manière standard de le faire en utilisant tolua ++? Est-ce que tolua ++ couvre ça, ou je dois utiliser Lua C Api?

Répondre

0

Vous devez utiliser CAPI, il est comme ce qui suit:

en lua:

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

en 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); 

vous pouvez vérifier l'exemple tout à: http://blog.deskangel.com/?p=459

le message du lien est en chinois, mais le code dit tout.

+0

Je ne pense pas que ce soit la solution. – einverne

+0

@einverne, alors, quelle est votre solution? – WilliamX

Questions connexes