IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

M�thode d'interfa�age C++ / Lua


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair�
    Avatar de Le Barde
    Homme Profil pro
    Chanteur
    Inscrit en
    Juillet 2007
    Messages
    343
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 40
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activit� : Chanteur

    Informations forums :
    Inscription : Juillet 2007
    Messages : 343
    Par d�faut M�thode d'interfa�age C++ / Lua
    Bonjour, dans le cadre de mon projet de recherche, j'ai d�velopp� une application faisant certains calculs. Suivant les cas, les exemples que je veux calculer, je dois instancier ou non certains objets, les initialiser avec diff�rentes valeurs, etc. En gros, d'une ex�cution sur l'autre, les calculs doivent �tre diff�rents. Sauf que voil�, le projet devient assez gros pour que tout recompiler � chaque fois devienne non n�gligeable.
    Justement, il se trouve que j'ai entendu parler des langages de script. Int�ressant, de pouvoir changer le comportement du programme sans tout recompiler. Et, a priori, Lua me semblait �tre ce qu'il me fallait. Sauf que voil�, c'est un langage interpr�t�, c'est donc a priori plus lent, et je ne peux pas me permettre la lenteur, les calculs sont importants.

    Donc voil� mon interrogation :

    - On peut appeler des fonctions Lua depuis C++ ;
    - On peut appeler des fonctions C++ depuis Lua ;
    Moi, ce dont j'aurais besoin, ce serait de cr�er un script de cr�ation des diff�rents objets C++ dont j'ai besoin et d'appeler les m�thodes appropri�es. Alors que faut-il faire ?
    - Faut-il cr�er un script Lua qui ex�cute des bouts de programme C++ ?
    - Faut-il cr�er un petit programme qui se charge d'interpr�ter le script Lua, qui lui-m�me instancie des objets ?

    Et surtout, ce qui m'int�resse, c'est les temps d'ex�cution. Aujourd'hui mon programme tourne bien. Donc a priori les scripts Lua rallongeraient un peu ; lorsqu'on cr�e un objet C++ depuis Lua ou qu'on appelle une fonction C/C++, le temps d'ex�cution de la fonction est bien le m�me que celui de d�part ? L'augmentation de temps d'ex�cution est-elle uniquement li�e � l'interpr�tation de la commande Lua (sachant qu'apr�s tout est ex�cut� en C++) ?

    Merci d'avance, je cherche un moyen de faire en sorte que le temps d'ex�cution additionnel ne soit proportionnel qu'au nombre d'appels & de cr�ations d'objets, et non � la complexit� du programme.

    Le Barde.

  2. #2
    R�dacteur
    Avatar de Laurent Gomila
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par d�faut
    Si tu laisses tout le code critique c�t� C++ et ne fais que le strict minimum c�t� Lua, tu ne payeras effectivement que le co�t de l'interpr�tation des commandes Lua en plus.

  3. #3
    Membre �m�rite Avatar de valefor
    Profil pro
    Inscrit en
    D�cembre 2006
    Messages
    711
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 711
    Par d�faut
    R�cemment j'ai vu passer sur le forum un lien vers swig. Cela permet de faire automatiquement le binding C++->script. Au vu des tutoriaux, cela a l'air assez simple au premier abord.

    HIH

  4. #4
    R�dacteur
    Avatar de Laurent Gomila
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par d�faut
    SWIG n'est pas exactement le bon outil pour interfacer C++ et Lua, il sert plut�t � cr�er un binding d'une biblioth�que C++.

    Pour utiliser Lua dans un programme cod� en C++, il faut utiliser des biblioth�ques du genre ToLua ou luabind.

  5. #5
    Membre �clair�
    Avatar de Le Barde
    Homme Profil pro
    Chanteur
    Inscrit en
    Juillet 2007
    Messages
    343
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 40
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activit� : Chanteur

    Informations forums :
    Inscription : Juillet 2007
    Messages : 343
    Par d�faut
    D'accord, merci, vous me rassurez grandement

    Donc, si j'ai bien compris la le�on...
    1. On cr�e un certain nombre de fonctions en C++ d'interfa�age avec Lua ;
    2. On fait appel dans le programme principal (ou ailleurs ^^) � une fonction Lua, contenue dans un script Lua ;
    3. Dans ladite fonction �crite en Lua, qui sert de "fonction principale", on peut faire appel � ces fonctions d'interface �crites en C++ ?

  6. #6
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    26
    D�tails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 26
    Par d�faut
    J'ai regard� un peu luabind, et oui il te permet de faire ce genre de chose. Tu peux aussi faire si je me trompe pas une bibliotheque qui exporte tes fonctions C++ pour quelles soit utilisable en LUA, donc tu peux par exemple faire ton script principale en LUA et quand tu as besoin de perf tu utilises les fonctions de ta bibliotheque.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Le principe de m�thode interfa�age
    Par guinda dans le forum D�buter avec Java
    R�ponses: 2
    Dernier message: 29/09/2013, 23h24
  2. M�thode d'interfa�age entre Matlab et Java
    Par msassoum dans le forum G�n�ral Java
    R�ponses: 2
    Dernier message: 07/02/2010, 09h26
  3. Red�finition de m�thode C# avec Lua
    Par fseg_ dans le forum C#
    R�ponses: 0
    Dernier message: 31/08/2009, 16h40
  4. Interfa�age Lua Lunar C++
    Par GoldenEye dans le forum Biblioth�ques
    R�ponses: 1
    Dernier message: 21/10/2008, 22h29
  5. Cryptage en C selon la m�thode de c�sat
    Par shenron dans le forum C
    R�ponses: 2
    Dernier message: 31/05/2002, 08h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo