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

Langage C++ Discussion :

Biblio. pour le scripting


Sujet :

Langage C++

  1. #1
    Membre régulier
    Homme Profil pro
    Second de cuisine
    Inscrit en
    Avril 2005
    Messages
    193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Second de cuisine
    Secteur : Alimentation

    Informations forums :
    Inscription : Avril 2005
    Messages : 193
    Points : 99
    Points
    99
    Par défaut Biblio. pour le scripting
    Bonjour,

    Je cherche à sortir la définition de mes lambdas de ma source et les mettres dans un fichier à part, de la sorte je pourrais plus simplement faire des mises à jour de mes fonctions.
    En ce moment, la lambda est enregistrée en mémoire de la sorte:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        AdminCommandCenter::register_command(Bytes::IngameCommands::AC_UPDATE,
                                             game::AccountLevels::Admin,
                                             [&sql, &m_self, this](iopacket::Reader& packet, const AdminCommandCenter::sender_info_& sender_info)
                                             {
                                                 /// boulot
                                             });
    J'aimerais atteindre un but du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        AdminCommandCenter::register_command(Bytes::IngameCommands::AC_UPDATE,
                                             game::AccountLevels::Admin,
                                             NOM_DU_SCRIPT);
    De plus, j'aimerais ne pas devoir sortir de mon siège confortable du C++, donc Python est à proscrire.
    Je serais beaucoup plus tenté par une biblio type ChaiScript, AngelScript.
    Ma requete se tourne vers ses utilisateurs, savez vous comment faire?
    merci d'avance
    nico

  2. #2
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Salut,

    A vrai dire, je ne vois pas ce que tu reproches à python, d'autant plus qu'il est vraiment très simple de l'intégrer à C++ grâce à des bibliothèques comme boost.python...

    Mais, de manière générale, si tu envisages d'utiliser une bibliothèque externe (comme chaiscript ou anglescript), tu dois commencer par la compiler et par l'installer dans un dossier spécifique (sous linux, les en-tête sont souvent placés, par défaut, dans le dossier /<usr>/include/<nom_bibliothèque> et la bibliothèque dans le dossier /<usr>/lib ).

    Une fois que c'est fait, il ne te reste "plus" qu'à indiquer le chemin d'accès aux fichiers d'en-tête au compilateur en utilisant l'option -I<dossier> (i majuscule) (/I avec Vc++) et le chemin d'accès à la bibliothèque à l'éditeur de lien en utilisant l'option -L<chemin d'accès>) ainsi que la bibliothèque avec l'option -l<lib à utiliser> (L minuscule) (respectivement /L /l avec Vc++).

    Par contre, je n'ai jamais utilisé ni chaiscript ni anglescript, et je ne peux donc pas te donner de feedback sur ces bibliothèques
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  3. #3
    Membre régulier
    Homme Profil pro
    Second de cuisine
    Inscrit en
    Avril 2005
    Messages
    193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Second de cuisine
    Secteur : Alimentation

    Informations forums :
    Inscription : Avril 2005
    Messages : 193
    Points : 99
    Points
    99
    Par défaut
    Bon je rajoute une condition, je ne veux pas utiliser boost. Ni Qt (gbdivers )
    Et mon problème n'est pas pour l'installation, mais comment faire pour les arguments & le catch de variables
    Et pour python, bah c'est surtout la syntaxe qui me brule les yeux , mais bon, si c'est simple a mettre en place une fois, je n'aurais qu'a ecrire une seule fois du python, ca peut aller!

  4. #4
    Membre expert
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 717
    Points : 3 344
    Points
    3 344
    Par défaut
    J'ai fait une list ede languages de script qui visent specifiquement la compatibilite avec C++ (et pas C): http://stackoverflow.com/questions/3...153436#3153436

    Falcon 1.0 Alpha devrait sortir dans les jours ou semaines a venir, tandis que ChaiScript a des versions stables dispo (dont la plupart dependent de boost mais je sais plus si c'est vrai pour la derniere version).

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 6
    Points : 7
    Points
    7
    Par défaut Why not Qt ?
    Bonjour,

    Pourquoi ne veux-tu pas utiliser Qt ? La bibliothèque QtScript est très bien adaptée pour manipuler des objets C++ elle est même faite pour ça !. De plus, tu peux très bien juste créer des objets proxy accessibles depuis le code scripté et ainsi déléguer le travail final à ces objets. Comme ça tu découple la partie Qt du reste de ton travail.

    Vive Qt !

  6. #6
    Membre régulier
    Homme Profil pro
    Second de cuisine
    Inscrit en
    Avril 2005
    Messages
    193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Second de cuisine
    Secteur : Alimentation

    Informations forums :
    Inscription : Avril 2005
    Messages : 193
    Points : 99
    Points
    99
    Par défaut
    Bonjour,
    Bon je suis finalement resté sur AngelScript, en utilisant:

    http://www.angelcode.com/angelscript...doc_using.html

    et une source (certe vieille, mais au moins je vois bien le truc) http://subversion.assembla.com/svn/p...trunk/Pandora/

    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tableaux] aide pour un script
    Par jim1 dans le forum Langage
    Réponses: 3
    Dernier message: 22/01/2006, 20h48
  2. [langage] Quel langage utiliser pour un script de CHAT ?
    Par Manu0086 dans le forum Général Conception Web
    Réponses: 15
    Dernier message: 11/11/2005, 19h14
  3. Conseil livre pour comprendre scripts
    Par Filippo dans le forum Linux
    Réponses: 9
    Dernier message: 13/10/2005, 10h36
  4. [langage] aide pour un script pliz
    Par biog dans le forum Langage
    Réponses: 6
    Dernier message: 17/05/2005, 13h54
  5. Réponses: 4
    Dernier message: 16/02/2004, 15h16

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