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.
Questions connexes
- 1. Luabind conditionnellement appeler la fonction Lua
- 2. Appeler la fonction Lua sans exécuter le script
- 3. Comment créer une table Lua en C++ et la passer à une fonction Lua?
- 4. Comment puis-je appeler une fonction masquée en C++?
- 5. comment appeler dynamiquement une fonction C#
- 6. C# - Je sais que je peux le faire dans LINQ, mais je ne peux pas le faire fonctionner
- 7. Comment puis-je appeler une fonction JQuery?
- 8. Comment appeler une fonction anonyme en C#?
- 9. Comment appeler une fonction Objective C?
- 10. Comment pourrais-je faire pour partager des variables dans une classe C++ avec Lua?
- 11. Lua Alien - Appeler API spécifique
- 12. Comment appeler une fonction automatiquement?
- 13. comment je peux faire fonctionner is_english
- 14. Comment appeler une fonction d'une autre fonction en C++?
- 15. Comment appeler les fonctions Lua à partir de .NET
- 16. Comment faire une application Lua pour PSP?
- 17. Comment appeler une fonction JavaScript à partir du code C#
- 18. Comment appeler une fonction juste avant de revenir en C?
- 19. Comment est-ce que je peux vectoriser une fonction en numpy avec plusieurs arguments?
- 20. Comment faire une bibliothèque que je peux accéder à VBA dans Excel
- 21. Fonction Register C dans Lua table
- 22. Que dois-je appeler cette fonction de composition?
- 23. Comment appeler une fonction dynamique
- 24. Comment créer des objets de protocole tels que je peux appeler les méthodes de celui-ci en Objective-C?
- 25. Pourquoi je ne peux pas appeler packagename.modulename.foo()?
- 26. C# - Je ne peux pas faire référence à HttpPostedFileBase
- 27. Comment puis-je appeler une fonction C++ à partir de C#?
- 28. Comment puis-je appeler Jquery Fonction De Autre fonction JavaScript
- 29. Comment puis-je appeler une fonction interne du shell Python?
- 30. Comment puis-je faire un alias à une fonction singleton?
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? –