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

Lisp Discussion :

Compilation common lisp


Sujet :

Lisp

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Juin 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Vienne (Poitou Charente)

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

    Informations forums :
    Inscription : Juin 2014
    Messages : 16
    Par défaut Compilation common lisp
    Bonjour à toutes et à tous,

    Voilà plusieurs semaine que je me bat avec une multitude de soi-disant compilateurs CL, et avec tous, impossible de créer un exécutable natif depuis mes sources lisp.
    Quelqu'un connaît-il une façon de compiler du CL (à part créer mon propre compilateur)?

    Merci d'avance.

  2. #2
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2013
    Messages : 610
    Billets dans le blog
    21
    Par défaut
    Deux parties dans ma réponse:

    - selon ton compilateur, il est ou non possible de créer un fichier exe. C'est possible avec SBCL par exemple: http://stackoverflow.com/questions/1...-an-executable

    - compiler et créer un fichier exécutable n'est pas la même chose. Pour prendre un cas courant, Java, un programme Java est compilé en bytecode, mais le bytecode n'est pas un exécutable à lui tout seul: il demande que la machine virtuelle de Java soit installée. Il en est de même pour Lisp: le programme compilé s'exécute au sein d'un environnement LISP; pour créer un exécutable il faut intégrer dans le fichier exe l'environnement d'exécution de LISP: du coup pour un "Hello world" tu peux te retrouver avec un exe de 30 Mo.

  3. #3
    Membre averti
    Femme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Juin 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Vienne (Poitou Charente)

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

    Informations forums :
    Inscription : Juin 2014
    Messages : 16
    Par défaut
    Au cas ou ça aurai une importance : je ne suis pas sous Windows mais sous Xubuntu 15.10

    J'ai vu une liste des différents compilateurs sur le Common Lisp Wiki et SBCL compile en exécutable natif, je que je veux obtenir mais je n'y arrive pas et ne trouve pas comment faire.
    J'ai aussi essayé ECL qui créé un code C à partir du code Lisp mais il y a une erreur à la compilation alors que le code Lisp fonctionne à merveille.

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2013
    Messages : 153
    Par défaut
    Avec SBCL, ce dont tu as besoin, c'est la fonction SB-EXT:SAVE-LISP-AND-DIE.
    http://sbcl.org/1.0/manual/Saving-a-Core-Image.html
    L'option :EXECUTABLE T permet de créer un exécutable binaire, dont le point d'entrée c'est :toplevel.

    Il y a des outils comme cl-launch
    http://www.cliki.net/cl-launch
    et buildapp
    http://www.xach.com/lisp/buildapp/
    qui facilitent la création des exécutables. Le premier est plus portable et configurable et supporte aussi la création des « cores » et toutes sortes de wrapper scripts.

    En tout cas, comme stendhal666 l'a dit, c'est souvant peu pratique de créer un exécutable binaire, alors il y a d'autres options peu pratiques.

  5. #5
    Membre averti
    Femme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Juin 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Vienne (Poitou Charente)

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

    Informations forums :
    Inscription : Juin 2014
    Messages : 16
    Par défaut
    Mon problème étant impossible à résoudre, plus qu'une chose à faire : adieu Common Lisp!

  6. #6
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2013
    Messages : 153
    Par défaut
    Citation Envoyé par Aimlynx Voir le message
    Mon problème étant impossible à résoudre, plus qu'une chose à faire : adieu Common Lisp!
    Si tu n'arrives pas à appeler une fonction qui te produise un exécutable binaire - ben, il ne vaut pas la peine de continuer avec CL.

  7. #7
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 102
    Par défaut
    Citation Envoyé par Aimlynx Voir le message
    il y a une erreur à la compilation alors que le code Lisp fonctionne à merveille.
    Et si tu nous donnais le texte de l'erreur à grignoter, quelqu'un pourrait peut-être t'aider à résoudre ton problème...

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

Discussions similaires

  1. OpenMusic, Midi sous Common Lisp
    Par Tibtib dans le forum Lisp
    Réponses: 0
    Dernier message: 02/01/2011, 18h25
  2. Comment installer Common Lisp sur Mac os X?
    Par ramm04 dans le forum Apple
    Réponses: 2
    Dernier message: 16/12/2009, 07h13
  3. ACL2 et Common Lisp?
    Par maissa019 dans le forum Lisp
    Réponses: 4
    Dernier message: 19/04/2008, 16h03
  4. Réponses: 8
    Dernier message: 01/06/2005, 09h45

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