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
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
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
Blog OCaml de pied en cap
Tuto Implémentation d'un lexique avec OCaml
Projets OCamlBoggle MazeML OCamlTeX
Ocamlopt FTW
c'est bien plus rapide en natif qu'en byte
Salut !
C'est bien plus portable en byte qu'en natif. À chaque job son outil.Envoyé par kulssaka
Cordialement,
Cacophrène
Blog OCaml de pied en cap
Tuto Implémentation d'un lexique avec OCaml
Projets OCamlBoggle MazeML OCamlTeX
De plus, la compilation est sensiblement plus rapide avec ocamlc. Pour des phases compilation/test fréquentes, on gagne du temps.
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
Si tu veux parler de OCamlWin je te déconseille vivement de l'utiliser:je voudrais attaquer un vrai problème et produire un executable ocaml, l'interface ne semble rien indiquer.
- 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.
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#!
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.
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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager