Une méthodologie d'encapsulation de fonctions C, C++ et FORTRAN dans TCL

Frédéric Magoulès 1 Arnaud Maret Guillaume Nieser
1 CORIDA - Robust control of infinite dimensional systems and applications
IECN - Institut Élie Cartan de Nancy, LMAM - Laboratoire de Mathématiques et Applications de Metz, Inria Nancy - Grand Est
Résumé : La grande diversité des langages de programmation utilisés en calcul scientifique a conduit à une multitude de librairies et de codes de calculs. L'investissement tant humain que financier pour l'écriture de ces codes rend impossible leur réécriture complète dans de nouveaux langages plus performants. Depuis quelques années sont apparus des langages de commandes (TCL, Python) qui permettent d'appeler à partir de leur script des fonctions écrites dans d'autres langages, notamment en C++. L'objet de ce rapport est d'établir une méthodologie de travail pour transférer vers le script TCL des variables issues de fonctions C, C++ et Fortran. Compte tenu qu'il n'est pas possible d'encapsuler directement du code Fortran dans TCL, la méthode proposée ici consiste à passer par une couche intermédiaire en langage C++. Cette hiérarchisation a pour but d'obtenir une programmation orientée objet, l'ensemble fonctionnant comme un jeu de construction où chaque module possède des filtres d'entrées et des filtres de sorties. L'utilisateur assemble ensuite les différentes briques sans avoir connaissance de leur contenu.
Type de document :
Rapport
[Interne] A02-R-097 || magoules02e, 2002, 23 p
Liste complète des métadonnées

https://hal.inria.fr/inria-00101058
Contributeur : Publications Loria <>
Soumis le : mardi 26 septembre 2006 - 14:55:09
Dernière modification le : jeudi 11 janvier 2018 - 06:20:02

Identifiants

  • HAL Id : inria-00101058, version 1

Collections

Citation

Frédéric Magoulès, Arnaud Maret, Guillaume Nieser. Une méthodologie d'encapsulation de fonctions C, C++ et FORTRAN dans TCL. [Interne] A02-R-097 || magoules02e, 2002, 23 p. 〈inria-00101058〉

Partager

Métriques

Consultations de la notice

360