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

Caml Discussion :

[debutant] [ocaml] créer un executable.


Sujet :

Caml

  1. #1
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 249
    Points : 1 745
    Points
    1 745
    Par défaut [ocaml][windows] comment compiler en code natif
    jusqu'ici, je m'amusais avec caml light! tres bien pour mes besoins.

    je voudrais attaquer un vrai problème et produire un executable ocaml, l'interface ne semble rien indiquer.

    merci de m'éclairer sur la méthode à suivre...

    Yann

  2. #2
    Membre éprouvé
    Avatar de Cacophrene
    Homme Profil pro
    Biologiste
    Inscrit en
    Janvier 2009
    Messages
    535
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Biologiste

    Informations forums :
    Inscription : Janvier 2009
    Messages : 535
    Points : 1 125
    Points
    1 125
    Par défaut
    Bonjour !

    Pour produire un exécutable OCaml à partir du fichier foo.ml :

    • Bytecode : ocamlc foo.ml -o foo.exe
    • Code natif: ocamlopt foo.ml -o foo.exe

    Ces commandes sont à compléter avec d'éventuelles options, en fonction de ce que tu utilises dans ton code. Pour cela, je t'invite à consulter à documentation ici et ici.

    Cordialement,
    Cacophrène

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2009
    Messages : 22
    Points : 22
    Points
    22
    Par défaut
    Ocamlopt FTW


    c'est bien plus rapide en natif qu'en byte

  4. #4
    Membre éprouvé
    Avatar de Cacophrene
    Homme Profil pro
    Biologiste
    Inscrit en
    Janvier 2009
    Messages
    535
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Biologiste

    Informations forums :
    Inscription : Janvier 2009
    Messages : 535
    Points : 1 125
    Points
    1 125
    Par défaut
    Salut !

    Citation Envoyé par kulssaka
    c'est bien plus rapide en natif qu'en byte
    C'est bien plus portable en byte qu'en natif. À chaque job son outil.

    Cordialement,
    Cacophrène

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    832
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 832
    Points : 1 104
    Points
    1 104
    Par défaut
    De plus, la compilation est sensiblement plus rapide avec ocamlc. Pour des phases compilation/test fréquentes, on gagne du temps.

  6. #6
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2009
    Messages : 22
    Points : 22
    Points
    22
    Par défaut
    Haha je retiens ^^ c'est vrai que j'ai jamais mesurer le temps de compilation, j'avais juste mesurer le temps d'execution sur un bon petit fibonacci ^^

    Merci

  7. #7
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Points : 2 990
    Points
    2 990
    Par défaut compilation en code natif pour Window avec OCaml basé sur MinGW
    je voudrais attaquer un vrai problème et produire un executable ocaml, l'interface ne semble rien indiquer.
    Si tu veux parler de OCamlWin je te déconseille vivement de l'utiliser:
    • c'est buggué ça plante
    • même si ça ne plante pas il y a un problème de buffer qui fait qu'il ne voit pas toujours ton nouveau code, il continue de t'imprimer le même message d'erreur même quand ton code est corrigé (donc c'est l'enfer pour le débutant)
    • il existe d'autres versions ainsi qu'une variante OCamlWinPlus, pas la peine de les tester elles sont toutes aussi bugguées les unes que les autres
    • l'alternative c'est Crimson Editor ou Notepad++ avec une bonne console


    La compilation Windows en code natif se fait de préférence à l'aide de la version OCaml basé sur MinGW.
    La procédure qui suit n'est valable que pour cette version.

    OCaml natif MinGW for the dummies :
    • assurez vous que vous avez bien installé OCaml 3.11 basé sur Mingw et pas une autre version
    • il faut ensuite installer Mingw32 (http://www.mingw.org/) à l'aide de l'installateur automatique
    • choisissez une installation minimale dans le répertoire C:\Program Files\MinGW
    • n'installez ni MSYS ni Cygwin, c'est inutile
    • lancez l'éditeur de registre regedit
    • pour Windows XP pro, allez au répertoire
      HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment
    • sur une autre version de Windows le répertoire est éventuellement différent, dans tous les cas il y a un répertoire qui contient les variables d'environnement
    • ajoutez C:\Program Files\MinGW\bin à la variable Path
    • toujours dans le même répertoire, créez une nouvelle variable chaîne nommée FLEXLINKFLAGS
    • assignez lui la valeur chaîne -nocygpath -L C:\progra~1\MinGW\lib
    • décompressez l'archive de Flexlink dll qui permet le chargement de code dynamique
    • copiez les fichiers flexlink.exe et flexdll_mingw.o dans le répertoire bin de OCaml
    • rebootez Windows
    • créez un fichier hello.ml
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      print_endline "Hello ocamlopt!";
    • ouvrez une console
    • tapez la commande ocamlopt -o hello hello.ml
    Du même auteur: mon projet, le dernier article publié, le blog dvp et le jeu vidéo.
    Avant de poser une question je lis les règles du forum.

  8. #8
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 249
    Points : 1 745
    Points
    1 745
    Par défaut ocaml - compilation helloworld!
    Avec une explication aussi détaillée, je ne pouvais que réussir... Microsoft, c'est un peu lourd à installer mais c'est confortable quand meme...merci, maintenant, je peux explorer la galaxie ocaml en plus de f#!

  9. #9
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Points : 2 990
    Points
    2 990
    Par défaut
    On pourrait sans doute diminuer le nombre de manips à l'aide d'un fichier .reg qu'on fusionnerait avec le registre mais ça ne fonctionne pas sous mon XP pro alors que ça va très bien sous Win98 où l'accès au registre est moins protégé.

    S'il-te-plait change le titre en [ocaml][windows] comment compiler en code natif, parce que c'est une question qui revient et pour laquelle la réponse complète n'est trouvable nulle par ailleurs.

    pour tous:
    pour vos questions installation [O]Caml précisez toujours [windows][linux][mac ppc][mac intel].
    Du même auteur: mon projet, le dernier article publié, le blog dvp et le jeu vidéo.
    Avant de poser une question je lis les règles du forum.

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 7
    Points : 15
    Points
    15
    Par défaut
    Pour compiler les exemples LablGtk en natif sous Windows

    set FLEXLINKFLAGS=-nocygpath -subsystem windows -L C:\MinGW\lib
    ocamlopt -ccopt "-LC:\GTK\lib" -I +lablgtk2 lablgtk.cmxa gtkInit.cmx testgtk.ml -o testgtk.exe


    Modifier les chemins en fonction de votre configuration
    -subsystem windows supprime la fenetre Cmd.exe

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

Discussions similaires

  1. [jbuilder 9] [debutant] creation d'un executable
    Par matN59 dans le forum JBuilder
    Réponses: 2
    Dernier message: 18/11/2004, 20h16
  2. [Debutant(e)]créer un exécutable
    Par seringua1 dans le forum EDI et Outils pour Java
    Réponses: 3
    Dernier message: 08/06/2004, 13h34
  3. Réponses: 7
    Dernier message: 21/05/2004, 18h13
  4. [Debutant] comment creer un Executable avec Jbuilder
    Par JavaEli dans le forum JBuilder
    Réponses: 10
    Dernier message: 29/03/2004, 12h22
  5. Comment créer et executer un .EXE
    Par maher12 dans le forum Flash
    Réponses: 3
    Dernier message: 26/09/2002, 09h33

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