École Nationale Supérieure des Télécommunications
Département Informatique et Réseaux
Copyright © 2001-2007 Samuel Tardieu et les différents auteurs des réponses
Cet article est livré en l'état, sans garantie déclarée ni implicite.
Bien que tous les efforts aient été déployés pour s'assurer de la validité des informations contenues dans ce document, l'auteur ne pourra être tenu pour responsable d'erreurs, ou d'omissions, ni d'éventuels dommages résultant de leur utilisation.
Ce document peut être librement copié et distribué en respectant les conditions de la Licence de documentation libre GNU.
= ../Généralités/ =
=Le langage Ada=
= ../Bibliothèques/ =
=Compilateurs et outils=
Cette section répond à des questions techniques concernant les compilateurs et les outils associés.
Outils génériques.
Existe-t-il un outil permettant de créer un programme C à partir d'un programme Ada?
Le compilateur de Titan permet de générer du C à partir d'un source Ada.
Existe-t-il un outil similaire à JavaDoc pour Ada?
Le projet AdaDoc de Julien Burdy et Vincent Decorges permet d'extraire des informations à partir d'un fichier source en Ada et de générer des pages HTML.
Il est aussi possible d'utiliser AdaBrowse, qui génère des pages avec références croisées.
Existe-t'il un Ada pour Mac OS?
Un portage de GNAT pour Mac OS 9 (Classic) a d'abord été connu de façon confidentielle à travers les outils payants de Tenon (CodeBuilder).
GNAT, depuis son intégration dans GCC 3.1, est disponible pour Mac OS X, à partir des sites :
Où trouver un environnement Ada95 graphique en logiciel libre pour Windows?
Il suffit de combiner GNAT et AdaGIDE, un éditeur graphique ciblant le langage Ada.
On peut trouver GNAT à l'URL http://libre.adacore.com/libre/tools/gnat-gpl-edition/ et AdaGIDE à l'URL http://www.martincarlisle.com/adagide.html.
Il est également possible, pour GNAT, d'utiliser AIDE, disponible depuis le site de Stéphane Rivière. AIDE est un environnement de développement Ada pour Windows, également destiné à l'enseignement.
AIDE utilise uniquement des outils libres et multi plate-formes pour créer des applications libres ou commerciales, en mode texte, graphique (GtkAda) ou encore pour internet (AWS).
AIDE comporte un IDE fondé sur Emacs (Glide), un IDE graphique (GPS) et une console compatible Bash. Tous les outils sont intégrés, configurés et opérationnels après l'installation. Aucun fichier n'est installé en dehors du répertoire de AIDE.
AIDE comporte une chaine de production de documentation complète et francisée, basée sur Texinfo et générant, à partir d'un source unique, les fichiers d'aide en ligne (HTML) et les manuels utilisateurs (PDF).
La documentation complète de AIDE et les réponses aux questions fréquemment posées sont disponibles à partir du même site que le logiciel.
GNAT.
Existe-t-il un dévermineur pour GNAT?
La distribution source de GNAT inclut une modification de GDB, un dévermineur[2] très puissant, pour lui ajouter le support du langage Ada.
De plus, l'interface graphique de GDB, appelée GVD (GNU Visual Debugger), a été développée entièrement en Ada.
Comment s'assurer que son code est compatible Ada 83?
Il faut utiliser le paramètre -gnat83 sur la ligne de commande de gnatmake.
Existe-t-il des IDE pour GNAT?
Il en existe plusieurs. On peut citer :
GNAT 3.15p fonctionne-t-il sur toutes les versions de Windows?
GNAT 3.15p fonctionne sur Windows 95, Windows 98, Windows NT 4.0, Windows 2000, Windows ME et Windows XP. Cependant, il est conseillé d'utiliser Windows NT ou Windows 2000, qui sont plus stables que les autres.
Comment lancer un exécutable depuis un programme Ada?
Le paquetage GNAT.OS_Lib fournit deux sous-programmes, Spawn et Spawn_Non_Blocking, permettant respectivement de lancer en attendant un processus fils et de lancer sans attendre un processus fils.
À quoi correspondent les fichiers .ali générés par GNAT?
Ces fichiers contiennent des informations qui n'ont pas leur place dans le fichier objet (extension .o ou .obj selon les systèmes).
Par exemple, un fichier foobar.ali contient, entre autres, la liste des paquetages dont dépendent foobar.ads et foobar.adb.
Comment déclarer une variable locale de plusieurs centaines de Ko avec GNAT?
La taille par défaut de la pile de la tâche d'environnement ne permet pas toujours de déclarer des variables locales importante.
Il faut passer l'option --stack=XXX à l'éditeur de liens pour la modifier.
Cela peut se faire en rajoutant -largs -Wl,--stack=0x8000000 (par exemple) à la fin de la ligne de commande de gnatmake.
Pour changer la taille de la pile d'une autre tâche, il faut utiliser pragma Storage_Size lors de la déclaration de la tâche ou du type tâche.
Comment lire le contenu d'un répertoire?
GNAT fournit un paquetage GNAT.Directory_Operations.
depuis Ada2005 : package Ada.Directories
Quel est le nom de l'exécutable du compilateur GNAT?
Cela dépend du système. Les distributions de GNAT distribuées par
AdaCore prennent le nom gcc. Celles livrées en standard avec les
distributions Linux, par exemple sur http://www.gnuada.org/alt.html,
utilisent le nom gnatgcc, pour ne pas introduire de confusion
involontaire avec le compilateur C. Les compilateurs livrés avec les
distributions BSD (FreeBSD, NetBSD et OpenBSD) sont disponibles sous le
nom adagcc.
Toutefois, GNAT 5.0 sera basé sur la version courante de GCC. Le
compilateur sera donc disponible sous le nom gcc, tout comme les autres
langages.
Comment installer GNAT sous Debian GNU/Linux?
GNAT est disponible sous forme de paquet pour Debian GNU/Linux que ce
soit pour architecture Intel, Sparc ou PowerPC. Pour l'installer, il
faut utiliser la commande apt-get install gnat en mode
super-utilisateur (root). La documentation peut être installée en
tapant apt-get install gnat-doc.
Où récupérer les sources de GNAT ?
Les sources de GNAT sont disponibles en téléchargement depuis le site
de la Free Software Foundation.
J'utilise GNAT, est-ce que mon code doit être livré sous licence GPL? (en logiciel libre).
Le code du compilateur lui-même est sous licence GPL, ce qui signifie
que si vous souhaitez distribuer un compilateur Ada basé sur GNAT,
alors vous devrez conserver cette licence. Ceci est commun à toutes les
versions de GNAT.
En ce qui concerne votre propre code, tout dépend de la bibliothèque d'exécution de GNAT que vous liez avec votre programme ; c'est cette
liaison avec la bibliothèque d'exécution, et non le compilateur, qui a une influence :
Si vous utilisez un compilateur fourni par une distribution telle que Debian GNU/Linux, FreeBSD, GNU Ada ou AIDE, il peut s'agir doit de GCC, soit de GNAT GPL Edition.
Comment faire pour que mon application GNAT sous Windows n'ouvre pas de fenêtre console?
Comme indiqué dans la documentation de GNAT, il faut rajouter l'option codice_1 à la fin de la ligne de commande de gnatmake.
Comment réduire la taille de mon exécutable compilé avec GNAT?
Il est possible de demander à gnatmake de supprimer les symboles additionnels utilisés pour le déverminage, en ajoutant codice_2 à la ligne de commande.
=Sociétés et fournisseurs liés à Ada=