Bonjour à tous,
Je voudrais appeler des fonctions en C à partir d'un code en Lua. Après quelques recherches sur le Net, j'ai trouvé Tolua++ mais je ne comprends pas très bien comment il fonctionne. Pour débuter, je voudrais faire une fonction HelloWorld en C que j'appelerai ensuite dans mon code Lua.
Mes codes se présentent ainsi:
hello.c :
#include "hello.h"
void HelloWorld(){
printf("Coucou!");
}
hello.h :
void HelloWorld();
hello.pkg :
$cfile "hello.h"
void HelloWorld();
A partir d'une console sur Ubuntu, j'ai tapé la commande suivante pour binder mon code C: tolua++ hello.c -H hello.h hello.pkg
Ca rajoute bien du code dans mon .c et mon .h mais ça supprime mon printf et j'ai l'erreur: undefined reference to HelloWorld
En plus, je ne sais pas comment faire l'appel de ma fonction HelloWorld dans
mon .lua Est ce qu'il suffit juste de faire HelloWorld(); ? Comment faire une sorte de #include pour qu'il aille chercher la fonction dans le .c correspondant?
Aidez moi svp, j'ai tenté plein de trucs différents mais rien ne marche!!!!
Merci d'avance pour votre aide.
# malpoli
Posté par lem__mel . Évalué à 2.
J'espère qu'au moins lorsque tu aura une réponse qui te satisfait, tu auras la politesse de la poster sur tous les forums où tu as posté.
# Bon c'est peut etre dans les details....
Posté par TheBreton . Évalué à 1.
#include <stdio.h>
pour au moins utiliser printf correctement dans hello.c
ensuite dans hello.h je mettrais bien
extern void HelloWorld(void);
d'ailleurs dans le hello.c c'est plus propre de rajouter le void dans les args de HelloWorld aussi
Apres pour l'utilisation de ta fonction dans lua la doc doit indiquer ca quand meme non ?
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.