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 :

[Caml light] Créer un executable


Sujet :

Caml

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 14
    Points : 3
    Points
    3
    Par défaut [Caml light] Créer un executable
    Bonjour,
    je viens de faire un programme en Caml, mais lorsque je veux le lancer, je suis obliger de passer par caml.
    Quelqu'un pourrait t'il m'expliquer en détail comment je pourrais créer un executable (c'est à dire pouvoir lancer le programme sans passer par Caml)
    Merci d'avance.

  2. #2
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Désolé, mais ce n'est pas possible, Camllight ne possède pas de compilateur natif, au contraire de Ocaml. Passez à OCaml si possible.

    --
    Jedaï

  3. #3
    Membre éprouvé
    Avatar de InOCamlWeTrust
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 036
    Points : 1 284
    Points
    1 284
    Par défaut
    Désolé, mais ce n'est pas possible, Camllight ne possède pas de compilateur natif, au contraire de Ocaml. Passez à OCaml si possible.

    --
    Jedaï
    Non.

    Caml Light possède un compilateur produisant un exécutable. Plus précisément, il produit du code-objet interprété par la machine virtuelle ; ce code-objet (ton programme) se retrouve à la fin dans le même exécutable que la machine virtuelle caml, ce qui permet d'en faire un exécutable. Ceci fonctionne avec l'option -custom.

    Si cette option n'est pas spécifiée, tu n'es pas obligé, en général, de passer EXPLICITEMENT par caml : la machine virtuelle est lancée directement dans la majorité des cas.
    When Colt produced the first practical repeating handgun, it gave rise to the saying God created men, but Colt made them equal.

  4. #4
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par InOCamlWeTrust
    Non.

    Caml Light possède un compilateur produisant un exécutable. Plus précisément, il produit du code-objet interprété par la machine virtuelle ; ce code-objet (ton programme) se retrouve à la fin dans le même exécutable que la machine virtuelle caml, ce qui permet d'en faire un exécutable. Ceci fonctionne avec l'option -custom.

    Si cette option n'est pas spécifiée, tu n'es pas obligé, en général, de passer EXPLICITEMENT par caml : la machine virtuelle est lancée directement dans la majorité des cas.
    Ne le lui dis pas, il serait passé à OCaml !!
    (Bon j'avoue, j'avais complètement oublié qu'il y avait l'option -custom, je savais bien qu'on pouvait faire ce genre de chose vu que c'est une solution employée pour la plupart des autres langages interprétés quand on veut faire un exécutable, mais je ne me rappelais plus que CamlLight le proposait dans son compilateur de bytecode)

    --
    Jedaï

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 14
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par InOCamlWeTrust
    ce qui permet d'en faire un exécutable. Ceci fonctionne avec l'option -custom.

    Si cette option n'est pas spécifiée, tu n'es pas obligé, en général, de passer EXPLICITEMENT par caml : la machine virtuelle est lancée directement dans la majorité des cas.
    Merci beaucoup mais concretement, on fait comment?

  6. #6
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par karatekator
    Merci beaucoup mais concretement, on fait comment?
    On lit le manuel... InOCamlWeTrust t'a carrément donné le nom de l'option, il te suffit maintenant de lire le manuel.
    Si tu as des questions plus précise ou des problèmes pour utiliser la commande, tu pourras toujours y revenir plus tard.

    --
    Jedaï

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 14
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par Jedai
    On lit le manuel... InOCamlWeTrust t'a carrément donné le nom de l'option, il te suffit maintenant de lire le manuel.
    Si tu as des questions plus précise ou des problèmes pour utiliser la commande, tu pourras toujours y revenir plus tard.

    --
    Jedaï
    Merci, mais avant de poser ma question sur ce forum, j'ai déja essayer de comprendre le manuel (sans succés...)
    On me dit d'utiliser la commande camlc mais caml n'as pas l'air de la connaitre
    The value identifier camlc is unbound.
    Moi je ne suis pas contre, mais comment?
    J'ai compilé mon prgm qui était en .ml en .zo . quand je clique 2 fois dessus, cela m'ouvre caml mais ne lance pas le prgm.
    Et l'option on la met comment?

    Donc s'il vous plait pourriez vous me donner les manoeuvres concretes.
    merci

  8. #8
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Ok, ben tu vois que tu peux poser une question plus précise !

    camlc n'est pas une commande Caml, c'est un exécutable, qu'on est censé appeler à partir de la ligne de commande, par exemple ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    camlc -o hello.exe hello.ml
    Sais-tu te servir de la ligne de commande ? Sur quel OS travailles-tu ?

    --
    Jedaï

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 14
    Points : 3
    Points
    3
    Par défaut
    Bon,
    Je n'ai pas réussi à utiliser le mode MS-DOS...
    Mais, en utilisant la commande EXECUTER dans le menu démarrer, j'ai réussi à crée un fichier .exe à partir d'un .ml en utilisant:
    C:\CAML\BIN\CAMLC.EXE -custom tipe.exe tipe1.ml
    et
    C:\CAML\BIN\CAMLC.EXE -o tipe.exe tipe1.ml
    C'est un bon début...
    Cependant, lorsque je lance ce fichier .exe, une fenetre MS-DOS s'ouvre puis se referme immédaitement, alors que mon programme est censée entre autre afficher une fenetre graphique.
    J'avoue ne pas tous comprendre...

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 14
    Points : 3
    Points
    3
    Par défaut
    Personne à une idée ?

  11. #11
    Membre éprouvé
    Avatar de InOCamlWeTrust
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 036
    Points : 1 284
    Points
    1 284
    Par défaut
    On n'exécute pas des programmes en cliquant dessus !

    Non, blague à part... on ne peut pas répondre si tu ne nous donnes pas plus d'informations. Le code ? un exemple ?

    On devrait faire du forcing pour que les gens n'utilisent plus qu'Objective Caml. Dommage que le ministère de l'Education Nationale soit encore rempli d'abrutis en tous genres, entre autres de certains centraliens (suivez mon regard...) qui veulent à tout prix que ce soit Caml Light et non Objective Caml qui soit enseigné ! Et si on les obligeait à ne plus enseigner que les équations différentielles du premier ordre à coefficients constants ?!!!
    When Colt produced the first practical repeating handgun, it gave rise to the saying God created men, but Colt made them equal.

  12. #12
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 14
    Points : 3
    Points
    3
    Par défaut
    Voila mon code (cf pièce jointe).
    Il marche (il ne fait pas toujours ce que je voudrais mias bon il tourne...)
    Si vous l'essayer je vous déconseille l'option "Algo naif", j'ai programmer comme un cochon et il plante.
    Mais a part ca il marche parfaitement.
    Merci d'avance.

    PS: dès que j'ai fini la prépa je passe à Ocaml
    Fichiers attachés Fichiers attachés

  13. #13
    Membre éprouvé
    Avatar de InOCamlWeTrust
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 036
    Points : 1 284
    Points
    1 284
    Par défaut
    T'as fumé quoi (c'est pas méchant) ? Parce que, dans ce cas-là, je veux la même chose !

    Ne JAMAIS donner un programme source :

    - non commenté
    - en un seul fichier
    - en .doc et écrit tout petit petit !!!

    Désolé, mais là je ne peux vraiment pas lire.

    Essaye d'isoler le problème.

    As-tu pensé à la fonction open_graphics ?
    When Colt produced the first practical repeating handgun, it gave rise to the saying God created men, but Colt made them equal.

  14. #14
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 14
    Points : 3
    Points
    3
    Par défaut
    pardon monsieur, je savais pô...
    Bon mon programme est un programme graphique appellé "tipe", c'est le tout dernier programme définie. Ceux qui sont définie avant sont des sous-programmes qui marche parfaitement.

    Grooso modo mon code est de la forme :
    #open"graphics";;

    (définition de nouveaux types)
    (définition des sous-prgm)
    (définition de tipe)

    tipe();;
    Le tout marche parfaitement lorsque je le lance depuis Caml. Si vous n' êtes pas convaincu, il suffit de lancer le code avec caml.


    remarque, je n'ai pas utiliser de fonction "open_graphics" mais seulement
    #open"graphics";; et
    open_graph""; (dans le programme tipe)


    Enfin vous me demander d'isoler le probleme, le seul ennuie c'est que je ne sais pas ou il est...
    Cependant je vous redonne une version de tipe commentée :

    tipe cherche à résoudre le problème du voyageur de commerce (PVC).
    C'est à dire ayant un nombre finie de ville, il cherche à connaitre le plus court chemin, passant par toutes les villes et retournant au départ.
    On définie les type suivant :
    type ville==float*float;;
    type point==int*int;;

    lorsque l'on lance le prgm (je vous conseille d'essayer ce sera plus simple pour comprendre...)
    Un menu s'affiche:
    let affichage ()=
    begin
    fill_rect 10 20 350 220 ;
    moveto 15 215 ;
    draw_string " Problème du voyageur de commerce ";
    moveto 20 160 ;
    draw_string "-Créer Nouvelle Carte.............1 ";
    moveto 20 140 ;
    draw_string "-Effacer la solution..............2 ";
    moveto 20 120;
    draw_string "-Algorithme Naif..................3 ";
    moveto 20 100 ;
    draw_string "-Algorithme Glouton...............4 ";
    moveto 20 80 ;
    draw_string "-Algorithme des ACM...............5 ";
    moveto 20 60 ;
    draw_string "-Algorithme Des Fourmis...........6 ";
    moveto 20 40;
    draw_string "-Quitter..........................7 ";
    end;;
    L'option 1 permet de définir une nouvelle carte (un ensemble de point) en cliquant sur la fenetre graphique. Par défaut la carte est initialiser à carte1 (cf début du code de tipe). le sous programme utiliser est
    let nouvelle_carte()=
    let carte_liste=ref[] and fin=ref false in
    begin
    clear_graph();
    fill_rect 10 20 350 200 ;
    moveto 15 195 ;
    draw_string " Créer Nouvelle Carte ";
    moveto 20 140 ;
    draw_string "-Cliquer sur l'écran pour placer";
    moveto 20 120 ;
    draw_string " les villes.";
    moveto 20 80 ;
    draw_string "-Appuyer sur n'importe quelle touche ";
    moveto 20 60;
    draw_string " lorsque vous avez fini";
    set_color red;
    while not(!fin) do
    let etat= wait_next_event[Button_down ; Key_pressed] in
    begin
    fin:=etat.keypressed;
    if not( !fin ) then
    let (v:point)=(etat.mouse_x,etat.mouse_y) in
    begin
    carte_liste := v :: !carte_liste;
    (fill_circle (fst v) (snd v) 4) ;
    end;
    end;
    done;
    set_color blue;
    affichage();
    !carte_liste;
    end;;
    Les options 3,4,5,6 permettent de résoudre le problème suivant la méthode choisie:
    - on transforme la carte (de type point list) en une carte de type ville list avec la fontion réel_of_entier (définie plus haut dans le code)
    - on lance resolution_naive ou glouton ou méthode_des_acm ou fourmi suivant l'option choisie qui revoient alors une liste de villes, que l'on tranforme en liste de point avec le fonction entier_of_réel.
    - On trace la solution avec tracer_parcours .
    Les option 2 et 7 sont suffisament explicite pour ne pas les expliquer.

    On choisit les option avec le pavée numérique en tapant sur le chiffre correspondant.
    le code est de la forme
    while !x<>`7` do (*tant qu'on a pas lancée l'option 7 faire*)
    let etat= wait_next_event[Key_pressed] in
    begin
    x:=(etat.key);
    if !x=`0` then affichage();
    ......
    done;
    enfin le programme se termine par
    close_graph () ;
    end;;
    Cependant je le repete le code marche parfaitement.
    le définition de tipe est:
    let tipe()=
    let x=ref `0` and carte1= [859 , 550;
    897 , 526;873 , 470;941 , 455;971 , 436;1006 , 434;1027 , 387;1077 , 344;
    1076 , 254;962 , 274;1019 , 323;978 , 358;938 , 322;870 , 318;890 , 353;895 , 281;
    845 , 294;822 , 221;790 , 265;689 , 273;777 , 172;675 , 181;644 , 183;652 , 211;
    690 , 208;702 , 185;729 , 189;759 , 208;790 , 202;795 , 174;959 , 159;989 , 192;
    954 , 201;936 , 243;903 , 232;923 , 211;923 , 174;876 , 180;880 , 203;978 , 222;
    1057 , 219;1096 , 163;1117 , 174;1147 , 189;1160 , 238;1134 , 250;1104 , 225;1092 , 210;
    1069 , 256;1105 , 276;1148 , 481;1164 , 465;1137 , 437;1113 , 461;1095 , 406;1152 , 399;1120 , 361;
    1064 , 395;1066 , 442;1106 , 485;1062 , 590;1005 , 682;1047 , 655;1070 , 627;1013 , 605;
    962 , 621;969 , 649;1006 , 626;976 , 567;1025 , 541;945 , 412;883 , 398;840 , 361;
    811 , 334;748 , 303;696 , 305;646 , 310;610 , 318;585 , 371;579 , 404;560 , 468;
    564 , 517;626 , 544;652 , 566;713 , 557;755 , 535;806 , 494;785 , 443;746 , 397;686 , 373;
    664 , 427;701 , 457;661 , 489;699 , 420;735 , 444;813 , 414;746 , 365;621 , 397;620 , 475;698 , 506]
    in
    let carte=ref carte1 in
    begin
    open_graph"";
    set_color blue;
    affichage();
    afficher_villes( !carte );
    while !x<>`7` do
    let etat= wait_next_event[Key_pressed] in
    begin
    x:=(etat.key);
    if !x=`0` then affichage();
    if !x=`1` then carte:=nouvelle_carte();
    if !x=`2` then begin
    clear_graph();
    affichage();
    afficher_villes( !carte );
    end;
    if !x=`3` then if !carte=[] then
    begin
    clear_graph();
    afficher_villes( !carte );
    fill_rect 10 20 350 215 ;
    moveto 20 195 ;
    draw_string " Algorithme Naif ";
    moveto 20 140 ;
    draw_string "Erreur il faut créer une carte d'abord!!!";
    moveto 20 120 ;
    draw_string "Pour retourner au menu appuyer sur <0>";
    end
    else
    begin
    clear_graph();
    afficher_villes( !carte );
    moveto (fst (hd !carte)) (snd (hd !carte)) ;
    let solution=resolution_naive (reel_of_entier !carte ) in
    begin
    tracer_parcours ( entier_of_reel ( solution ) );
    let d=(calcul_distance_total solution )in
    begin
    fill_rect 10 20 350 215 ;
    moveto 20 195 ;
    draw_string " Algorithme Naif ";
    moveto 20 140 ;
    draw_string "Distance total=";
    moveto 20 120 ;
    draw_string (string_of_float d);
    moveto 20 80 ;
    draw_string "Pour retourner au menu appuyer sur <0>";
    end;
    end;
    end;
    end;
    if !x=`4` then if !carte=[] then
    begin
    fill_rect 10 20 350 215 ;
    moveto 20 195 ;
    draw_string " Algorithme Glouton ";
    moveto 20 140 ;
    draw_string "Erreur il faut créer une carte d'abord!!!";
    moveto 20 120 ;
    draw_string "Pour retourner au menu appuyer sur <0>";
    end
    else
    begin
    let sol=glouton (reel_of_entier !carte ) in
    let v= hd sol in
    let solution = insert_fin sol v in
    begin
    clear_graph();
    afficher_villes( !carte );
    tracer_parcours (entier_of_reel solution);
    let d=(calcul_distance_total solution ) in
    begin
    fill_rect 10 20 350 215 ;
    moveto 20 195 ;
    draw_string " Algorithme Glouton ";
    moveto 20 140 ;
    draw_string "Distance total=";
    moveto 20 120 ;
    draw_string (string_of_float d);
    moveto 20 80 ;
    draw_string "Pour retourner au menu appuyer sur <0>";
    end;
    end;
    end;


    if !x=`5` then if !carte=[] then
    begin
    fill_rect 10 20 350 215 ;
    moveto 20 195 ;
    draw_string " Algorithme des ACM ";
    moveto 20 140 ;
    draw_string "Erreur il faut créer une carte d'abord!!!";
    moveto 20 120 ;
    draw_string "Pour retourner au menu appuyer sur <0>";
    end
    else
    begin
    let sol=méthode_des_acm (reel_of_entier !carte ) in
    let solution = insert_fin sol (hd sol) in
    begin
    clear_graph();
    afficher_villes( !carte );
    tracer_parcours (entier_of_reel solution);
    let d=(calcul_distance_total solution ) in
    begin
    fill_rect 10 20 350 215 ;
    moveto 20 195 ;
    draw_string " Algorithme des ACM ";
    moveto 20 140 ;
    draw_string "Distance total=";
    moveto 20 120 ;
    draw_string (string_of_float d);
    moveto 20 80 ;
    draw_string "Pour retourner au menu appuyer sur <0>";
    end;
    end;
    end;

    if !x=`6` then if !carte=[] then
    begin
    fill_rect 10 20 350 215 ;
    moveto 20 195 ;
    draw_string " Algorithme des Fourmis ";
    moveto 20 140 ;
    draw_string "Erreur il faut créer une carte d'abord!!!";
    moveto 20 120 ;
    draw_string "Pour retourner au menu appuyer sur <0>";
    end
    else
    begin
    let solution=fourmi (reel_of_entier !carte ) in
    begin
    clear_graph();
    afficher_villes( !carte );
    tracer_parcours ( insert_fin (entier_of_reel solution) (hd !carte));
    let d=(calcul_distance_total solution ) in
    begin
    fill_rect 10 20 350 215 ;
    moveto 20 195 ;
    draw_string " Algorithme des Fourmis ";
    moveto 20 140 ;
    draw_string "Distance total=";
    moveto 20 120 ;
    draw_string (string_of_float d);
    moveto 20 80 ;
    draw_string "Pour retourner au menu appuyer sur <0>";
    end;
    end;
    end;

    done;
    close_graph () ;
    end;;
    Merci pour votre attention.

    PS: Normalement un code il faut l'envoyer sous quel format (si ce n'est pas .doc) ?

  15. #15
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par karatekator
    PS: Normalement un code il faut l'envoyer sous quel format (si ce n'est pas .doc) ?
    Texte pur bien sûr !!! Ton code n'est-il pas enregistré dans un fichier texte pur ? On a des bons éditeurs de texte chez nous, avec coloration syntaxique et configuré pour nous convenir parfaitement. Pourquoi voudrais-tu nous l'envoyer en .doc, surtout si c'est un .doc sans formatage particulier (sans parler de la taille de la police) ?

    --
    Jedaï

  16. #16
    Membre éprouvé
    Avatar de InOCamlWeTrust
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 036
    Points : 1 284
    Points
    1 284
    Par défaut
    Est-ce que tu as lu le manuel de référence de Caml Light ?

    Citation Envoyé par Caml Light reference manual
    The graphics library
    This chapter describes the portable graphics primitives that come standard in the implementation of Caml Light on micro-computers.


    Unix:
    On Unix workstations running the X11 windows system, an implementation of the graphics primitives is available in the directory contrib/libgraph in the distribution. See the file README in this directory for information on building and using camlgraph, a toplevel system that includes the graphics primitives, and linking standalone programs with the library. Drawing takes place in a separate window that is created when open_graph is called.

    Mac:
    The graphics primitive are available from the standalone application that runs the toplevel system. They are not available from programs compiled by camlc and run under the MPW shell. Drawing takes place in a separate window, that can be made visible with the ``Show graphics window'' menu entry.

    PC:
    The graphics primitive are available from the Windows application that runs the toplevel system. They are not available from programs compiled by camlc and run in a DOS command window. Drawing takes place in a separate window.
    Voilà pourquoi rien ne s'affiche : il faut lancer le bazar depuis Caml Light !

    Franchement, quelle daube Caml Light !!!!!!!!!!!!!!!!!!!!!!!!!

    Messieurs du ministère, vous feriez mieux de recommander Objective Caml pour l'enseignement de l'informatique, et ce afin de ne pas décourager les élèves.

    Tu sais ce que l'on dit chez nous, les Linuxiens et autres Unixiens ?

    Blague à part.

    Ne poste jamais du code en .doc : le .doc, ce n'est pas du texte, mais du texte formaté... en gros, un truc qui n'a pas grand chose à voir avec ce que l'on appelle nous du texte.

    Tu as des éditeurs normalement sous Windows, avec coloration syntaxique. Je ne les connais pas, mais quelqu'un d'autre pourrait t'en conseiller.

    Pour ma part, si tu veux continuer à programmer, je te conseille de passer à Objective Caml sous Linux : tu peux te faire un dual-boot avec les deux systèmes le même disque dûr, et tu auraus la possibilité d'utiliser tout un tas de trucs bien meilleurs (et gratuits) que sous Windows.
    When Colt produced the first practical repeating handgun, it gave rise to the saying God created men, but Colt made them equal.

  17. #17
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    Citation Envoyé par InOCamlWeTrust
    Franchement, quelle daube Caml Light !!!!!!!!!!!!!!!!!!!!!!!!!

    Messieurs du ministère, vous feriez mieux de recommander Objective Caml pour l'enseignement de l'informatique, et ce afin de ne pas décourager les élèves.

    si seulement on nous écoutait... même certains profs de prépa sont contre CamlLight, au profit de OCaml


    Citation Envoyé par InOCamlWeTrust
    Tu as des éditeurs normalement sous Windows, avec coloration syntaxique. Je ne les connais pas, mais quelqu'un d'autre pourrait t'en conseiller.

    Pour ma part, si tu veux continuer à programmer, je te conseille de passer à Objective Caml sous Linux : tu peux te faire un dual-boot avec les deux systèmes le même disque dûr, et tu auraus la possibilité d'utiliser tout un tas de trucs bien meilleurs (et gratuits) que sous Windows.


    en ce qui concerne un éditeur pour caml light sous windows, il y a celui-ci :
    http://martial.tarizzo.free.fr/cmdcaml/cmdcaml.htm


    il n'est pas mal, sans être particulièrement bon ; mais perso je ne m'en suis servi qu'une fois (pour les oraux d'info pratique au concours Info de l'ENS )
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  18. #18
    Membre éprouvé
    Avatar de InOCamlWeTrust
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 036
    Points : 1 284
    Points
    1 284
    Par défaut
    Citation Envoyé par gorgonite
    si seulement on nous écoutait... même certains profs de prépa sont contre CamlLight, au profit de OCaml
    Toi aussi tu dois certainement savoir qui est le problème, non ?
    When Colt produced the first practical repeating handgun, it gave rise to the saying God created men, but Colt made them equal.

  19. #19
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    Citation Envoyé par InOCamlWeTrust
    Toi aussi tu dois certainement savoir qui est le problème, non ?

    bien sûr... mais pas de calomnie en public
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  20. #20
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 14
    Points : 3
    Points
    3
    Par défaut
    Bon ben merci...
    Je vais être obligée de passer par Ocaml.

    PS: C'est qui le problème?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 4
    Dernier message: 10/01/2015, 09h12
  2. [VBA] créer un executable des formulaires access
    Par benjapar dans le forum VBA Access
    Réponses: 4
    Dernier message: 18/12/2006, 14h01
  3. [FLASH 8] Comment créer un executable avec flash
    Par CR_Gio dans le forum EDI/Outils
    Réponses: 3
    Dernier message: 06/05/2006, 21h03
  4. Comment créer et executer une page jsp sur eclipse et tomcat
    Par debutantjak dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 16/03/2006, 18h21
  5. Comment créer et executer un .EXE
    Par maher12 dans le forum Flash
    Réponses: 3
    Dernier message: 26/09/2002, 08h33

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