Home

Programmation (fonctionnelle) Organisation et compilation de projets

image

Contents

1. pour l exercice 7 Exercice 5 Vous trouverez dans le r pertoire Echange L2 le fichier reines_gtk zip qui con tient un exemple de r solution du probl me des n reines Cette version utilise la biblioth que LablGtk que vous aurez besoin d installer et dont vous aurez besoin de consulter la documenta tion D brouillez vous pour faire compiler et ex cuter l ensemble de ce projet Notez la liste des commandes n cessaires pour cette compilation vous en aurez besoin pour l exercice 7 Exercice 6 Ecrivez un fichier de commandes make_clean cmd qui servira effacer tous les fichiers d extension cmi ou cmo Exercice 7 Convertissez les listes de commandes des exercices 1 et 3 en autant de fichiers make cmd Exercice 8 Convertissez les listes de commandes des autres exercices en autant de fichiers make cmd
2. PROGRAMMATION FONCTIONNELLE ORGANISATION ET COMPILATION DE PROJETS Avant propos Jusqu pr sent en Java et OCaml on vous a mentionn l existence de librairies ext rieures au langage On a juste n gligemment oubli de vous expliquer comment utiliser ces librairies parce que c est quelque chose d assez horrible Maleureusement vous n avez pas le choix Du coup voici quelques conseils et quelques exercices sur la gestion de librairies ext rieures et l organi sation de projets Notez que l essentiel de cette fiche s applique tous les langages de programmation pas juste OCaml Notez aussi qu il y d autres m thodes plus simples que nous verrons peut tre plus tard ce semestre Rappels sur la compilation en OCaml Compilation de modules Pour d finir un module Mon_module vous avez besoin de une interface optionnelle un fichier mon_module mli qui contient la liste des types et des valeurs d finies par le module une implantation un fichier mon_module ml qui contient les types et les valeurs d finies par le module Compilation de l interface Pour compiler l interface on commencera par taper dans l invite de commande ocamlc c mon_module mli Ceci invoque le compilateur ocamle en lui demandant l aide de c de proc der une com pilation s par e La commande produira le fichier mon_module cmi l interface compil e Ce fichier est suffisant pour commencer travailler
3. re de structure Vous tes encourag s faire de m me pour votre projet Exercice 2 Vous trouverez dans le r pertoire Echange L2 le fichier reines_texte zip qui contient un exemple de r solution du probl me des n reines D brouillez vous pour faire com piler et ex cuter l ensemble de ce projet Notez la liste des commandes n cessaires pour cette compilation vous en aurez besoin pour l exercice 7 Les trois exercices qui suivent peuvent tre faits dans n importe quel ordre Exercice 3 Vous trouverez dans le r pertoire Echange L2 le fichier reines_tk zip qui con tient un exemple de r solution du probl me des n reines Cette version utilise la biblioth que LablTK Vous aurez donc besoin de consulter la documentation de LabITK et probablement d installer quelque chose avant de pouvoir avancer D brouillez vous pour faire compiler et ex cuter l ensemble de ce projet Notez la liste des commandes n cessaires pour cette compilation vous en aurez besoin pour l exercice 7 Exercice 4 Vous trouverez dans le r pertoire Echange L2 le fichier reines_gl zip qui con tient un exemple de r solution du probl me des n reines Cette version utilise la biblioth que LablGL que vous aurez besoin d installer et dont vous aurez besoin de consulter la documenta tion D brouillez vous pour faire compiler et ex cuter l ensemble de ce projet Notez la liste des commandes n cessaires pour cette compilation vous en aurez besoin
4. re en mettant toujours le module la biblioth que utilis avant le module qui l utilise Cette liste d termine dans quel ordre les valeurs sont calcul es c est dire dans quel ordre les modules sont ex cut s Vous en d duirez qu il n est pas possible d crire deux modules qui s utilisent mutuellement Fichier de commandes Windows Si vous avez une liste de commandes de l invite de commande vous pouvez en faire un mini por gramme qu on appelle un fichier de commandes ou script shell Pour ce faire inscrivez toutes ces commandes une par ligne dans un fichier mon_fichier cmd Vous pourrez lancer le pro gramme en tapant mon_fichier cmd dans l invite de commande Pour plus d informations sur les fichiers de commandes Windows n h sitez pas chercher de la documentation sur Internet Projet simple Vous trouverez dans le r pertoire Echange L2 le fichier demos_liste_triee zip qui contient un exemple de manipulation de listes tri es Exercice 1 D brouillez vous pour faire compiler et ex cuter l ensemble de ce projet Notez la liste des commandes n cessaires pour cette compilation vous en aurez besoin pour l exercice 7 Projet complexe Lorsque le projet devient complexe il devient n cessaire d organiser les fichiers Une m thode fr quemment utilis e par exemple par les programmeurs de Linux de OCaml de Firefox ou encore d OpenOffice est de classer de la mani re suivante e r pertoi
5. re nomduprojet contenant tous vos fichiers e fichier INSTALL contenant les instructions n cessaires pour installer le programme e fichier COPYING contenant les d tails de la license d utilisation du programme e fichier README contenant les informations sur la version actuelle e fichier ChangeLog contenant la liste de toutes les modifications depuis la cr ation des fichiers e fichier make cmd un fichier de commandes qui va compiler tous vos fichiers sources dans le r pertoire src et produire un ex cutable dans le r pertoire nomduprojet ce qui permet notamment de ne pas avoir tout recompiler la main chaque fois e fichier make_clean cmd un fichier de commandes qui va effacer tous les fichiers temporaires et l ex cutable ce qui permet notamment de distribuer un projet nettoy de tous ces fichiers e r pertoire src contenant tous vos fichiers source en OCaml les ml et et mli e r pertoire doc contenant toute la documentation e r pertoire manual contenant le manuel d utilisation si possible au format pdf ou html e r pertoire api contenant la documentation g n r e automatiquement en OCaml par ocamldoc ou ocamlweb e r pertoire data contenant les images et autres ressources e r pertoire lib contenant toutes les librairies externes n cessaires pour faire fonc tionner votre projet en OCaml il s agira g n ralement de fichers cma et d11 Les exemples qui suivent emploient ce gen
6. sur d autres modules qui pourraient utiliser Mon_module Si le fichier mon module mli n existe pas oubliez cela OCaml se passera du fichier cmi Compilation de l implantation Pour compiler l implantation commencez par compiler l interface si elle existe Ensuite dans l invite de commande ocamlc c mon_module ml Ceci invoque le m me compilateur et produit le fichier mon_module cmo le module compil lui m me Si votre module Mon_module utilise d autres modules Module_a Module_b Module_c les fichiers modules_a cmi module_b cmi et module_c cmi doivent d j avoir t compil s et tre pr sents dans le r pertoire Plus court On peut compiler tout cela d un coup avec ocamlc c mon module mli mon _module ml Compilation de biblioth ques Une fois que tous les fichiers cmo sont compil s on peut les joindre en une biblioth que ma_librairie cma Ceci n est jamais obligatoire Pour ce faire ocamlc a mon_premier_module cmo mon_deuxieme_module cmo o ma_librairie Liaison d un programme Un programme est un ensemble de modules et de biblioth ques externes Une fois que tous les fichiers cmo sont compil s on peut les joindre en un ex cutable mon_programme exe l aide de la commande ocamlc une_librairie cma mon_module_a cmo mon_module_b cmo o mon_programme exe Vous devez mettre dans cette liste tous les modules et toutes les biblioth ques utilis es par ordre de d pendances c est di

Download Pdf Manuals

image

Related Search

Related Contents

nos contes fantastiques  Procédure d`approbation ETOPS  ご利用ガイド【基本編】 多機能ルーター  VTech Winnie the Pooh User's Manual  ビルトインコンロ 取扱説明書 保証書付 ビルトインコンロ 取扱説明書 保証  CBM262 Service Manual  Harman/Kardon HD 980  Manuel d`utilisation Nokia E55 - File Delivery Service  Orthe-75sp Etiquette  Programas Básicos dsPIC30f4013/11  

Copyright © All rights reserved.
Failed to retrieve file