previous up next contents


Sur la plate-forme de programmation :

Les problèmes rencontrés lors de la programmation en C++ nous ont conduit à beaucoup (et longtemps) réfléchir sur le choix du langage pour l'implantation informatique. Ils ont été pour la plupart en relation avec la façon dont les compilateurs existants traitent les templates5.7, nécessaires pour l'utilisation des classes de la librairie objet STL et pour de classes et fonctionnalités que nous avons programmées à leur aide.

Introduites récemment dans le langage C++, les notions de template class et template function ne sont pas implantées de manière standard5.8. Deux approches différentes sont actuellement mises en place par les constructeurs de compilateurs. Le compilateur de GNU (g++ v. 2.7.0) n'implémente aucune des deux approches et demande une concrétisation au moment de la compilation de chaque template effectivement utilisée, ce qui devient vite fatiguant mais reste gérable. Ce qui est cependant regrettable, c'est que l'implantation de la librairie STL, fournie avec le compilateur, n'est pas correcte : l'implémentation des méthodes est incluse dans les fichiers .h sans la mention inline ce qui donne des erreurs dès leur utilisation dans plus d'un fichier. Après un certain nombre de corrections, nous avons pu utiliser g++ et la librairie STL mais nous avons senti que les limites du compilateur n'étaient pas loin5.9. GNU C++ n'est définitivement pas au point : même s'il n'était pas en ce moment obligatoire, un changement de plate-forme de compilation serait le bienvenu.


previous up next contents
Theodore Thlivitis, 1998