Je voudrais savoir comment faire une fonction C et pouvoir en parler à Lua, puis l'appeler de Lua. J'ai toutes les bibliothèques Lua installées sur mon ordinateur Mac OSX 10.4.Comment pourrais-je faire une fonction C que je peux appeler de Lua?
4
A
Répondre
2
Vous pouvez vous inscrire à l'aide des fonctions luaL_register
Regardez quelques exemples et explications PiL
7
Il y a un excellent exemple d'intégration Lua-C here et here.
Si vous avez juste besoin d'exporter une fonction dans l'espace de noms global, puis:
- déclarer la fonction (appelons-le
f
) avec la signaturelua_CFunction
. - appel
lua_register(L, "myfunc", f)
, avec L étant la Lua état, et la fonction =f
. - Exécutez le code lua. Ensuite,
f
sera disponible dans l'espace de noms global sous la formemyfunc
.
Si vous allez utiliser l'interpréteur de stock, alors vous voudrez peut-être faire une bibliothèque. This guy a écrit un article pour Lua Programming Gems qui explique comment le faire. Les sources sont disponibles en ligne.
1
My answer here comprend un joli petit exemple de faire un jeu très simple en utilisant C et Lua ensemble. Dans mon opinion biaisée, c'est un excellent point de départ.
Où dois-je placer ce fichier dans le fichier lua-5.x.x? devrait-il être un fichier .c? – SHa
Attendez, utilisez-vous le code interprète de stock ou l'intégration de lua dans votre propre application? –