Home

Les librairies en Fortran

image

Contents

1. ATE WRITTE hanged all YYMMDD N specific intrinsics to generic WRB rologue co CALLs to XE D C REVISION DAT P R E from Version 3 2 nverted to Version 4 0 format BAB ROR changed to CALLs to XERMSG THJ Removed duplicate information from DESCRIPTION section WRB Attention La librairie SLATEC utilise les variables implicites ce qui la dispense d expliciter le type des variables d entr e Dans votre cas il faut en plus d crire la nature des param tres de la routine 3 1 Cr ation Par convention le nom d une librairie statique par opposition aux librai ries partag es que l on n abordera pas ici est libnomdelalibrairie a Une librairie se cr partir d une collection de fichiers o l aide de la com mande ar r Ainsi dans notre cas simple ar r libnewton a newton o cr une librairie Libnewton a contenant seulement le fichier newton o Attention En r gle g n rale on inclut dans une archive des fichiers objets ne contenant que des fonctions ou sous routines mais pas de programmes principaux 3 2 Utilisation Une librairie n intervient bien entendu qu au niveau de l dition de lien Elle peut alors tre utilis e comme n importe quel fichier objet p ex g77 o zero exe zero o libnewton a ou m me plus directement g77 o zero exe zero f libnewton a cette derni re commande incluan
2. Les librairies en Fortran Module d informatique Licence DSM ENS Lyon TD n 8 2002 2003 26 novembre 2002 y copin ipnl in2p3 fr Objectifs du TD Compilation et dition de liens r alisation et utilisation de librairies 1 Introduction L objectif de modularit est primordial pour une programmation efficace En effet comme dans de nombreux domaines un certain nombre d op rations de base sont communes de tr s nombreux calculs et il serait particuli rement vain de les red finir chaque nouvelle utilisation Il est donc important de bien identifier ces fonctions l mentaires de les isoler au mieux de leur environnement de les optimiser et ventuellement d accro tre leur potentiel en g n rali sant leurs domaines d application Ainsi comme dans un jeu de construction il suffira alors de les assembler ou m me simplement de les enrober pour cr er rapidement des programmes plus complexes En ce sens le FORTRAN fournit les functions et subroutines pour les quelles il est important de circonscrire l action chaque routine doit avoir un unique objectif bien d fini et d porter tout calcul complexe une sous routine et ainsi de suite de d finir pr cis ment son mode d emploi en particulier en pr cisant clairement l interface c d la nature et le r le des diff rents param tres ou variables globales les conditions d utilisation p ex tailles maximale d
3. ent pas indispensable 2 1 Compilation La production d un fichier objet o partir d un fichier source f se fait dans notre cas l aide de l option c de la commande g77 Ainsi les com mandes g77 Wall c newton f g77 Wall c zero f cr ent elles les fichiers newton o et zero o 2 2 dition de liens L diteur de liens utilise la table des symboles des diff rents fichiers objets pour assortir les r f rences externes c d les symboles utilis s mais non d finis dans un fichier objet aux d finitions globales les symboles d finis dans un fichier objet Sous UNIX l dition de liens se fait l aide de la commande 1a quelque soit le langage de programmation Cependant on n utilise rarement cette commande directement puisque la plupart des compilateurs offre une interface plus simple d emploi Dans notre cas il s agit simplement de la com mande g77 P ex g77 o zero exe newton o zero o g n re le programme ex cutable zero exe partir des fichiers objets newton et zero o 3 Les librairies Les librairies ou biblioth ques ne sont qu un type particulier de fichier objet regroupant dans un m me fichier des fonctions de base tr s souvent uti lis es Tout langage de programmation dispose de ses propres librairies et il est souvent int ressant de se constituer des librairies personnelles regroupant des routines autour d une th matique pr cise C est ga
4. es tableaux les codes d erreur etc Cette d marche doit se faire non seulement au niveau du code lui m me p ex par l utilisation de noms de variable explicites mais galement au niveau de la documentation d taill e des proc dures Une fois ce travail de normalisation et documentation r alis il est int res sant de regrouper l ensemble de ces fonctions de base au sein d une biblioth que sur laquelle se basera les d veloppements futurs Ainsi il existe de par le WEB de nombreuses biblioth ques FORTRAN couvrant de multiples domaines p ex calculs num riques fonctions math matiques entr es sorties etc dont l utili sation permet non seulement d acc l rer le d veloppement de son projet mais aussi de contribuer la structuration de son code 2 Compilation et dition de liens Le terme g n rique de compilation utilis jusqu pr sent pour voquer la production d un programme ex cutable partir d un fichier source recouvre en fait deux actions distinctes La compilation proprement parler traduit un fichier source p ex d extension f cr e l aide d un diteur de texte en un fichier objet extension o il s agit simplement de la traduction en langage machine de la suite d ins tructions du fichier source Chaque donn e ou fonction d finie dans un fichier objet poss de un nom symbolique et chaque r f rence un symbole ext rieur au fichier objet consid r e
5. fessionnel elle est m me r put e assez peu fiable mais plut t d un bon point de d part Attention Les sources de la NUMREC ne sont pas gratuites Vous ne devez donc pas distribuer la librairie que l on met votre disposition Exercice Utiliser la routine mppi de la NUMREC 20 6 pour afficher un nombre arbitraire de d cimales de x 4 2 SLATEC SLATEC http www netlib org slatec estunelibrairienum rique d utilisation ais e contenant plus de 1400 routines math matiques et statis tiques Elle est de plus index e dans le Guide to Available Mathematical Soft ware GAMS ce qui en facilite son usage voir p ex le Problem Decision Tree http gams nist gov serve cgi Par ailleurs pour faciliter l interface avec vos programmes chacune des routines dispose de son propre manuel d utilisation sous home ycopin Fortran slatec man consultable avec la commande man p ex man home ycopin Fortran slatec man binom 1 Exercice Trouver dans la librairie SLATEC la routine permettant de calculer les racines d un polyn me coefficients r els et l int grer dans un programme Comparer plusieurs librairies r sultats performances facilit d utilisation
6. lement ce que l on peut trouver sur le r seau Internet offrant de multiples fonctionnalit s dans de nombreux domaines p ex calculs num riques gestion des entr es sorties etc Attention Une librairie doit tre parfaitement structur e et do cument e pour pouvoir tre utile terme c d au del de l uti lisation imm diate Pour ce faire il est pr f rable de s parer les diff rentes routines d une librairie en autant de fichiers contenant chacun une unique fonctionnalit et ses d pendances et de normaliser l ent te de ce fichier pour indiquer clairement les informations utiles P ex le fichier binom f de la librairie SLATEC voir ci dessous utilise l ent te suivant O FUNCTION BINOM N M Compute the binomial coefficients CISION BINOM S DBINOM D BINOMIAL COEFFICIENTS FNLIB SPECIAL FUNCTIONS r LANL calculates the binomial coefficient N M N M NREL R1MACH R9LGMC XERMSG C BEGIN PROLOGUE BINOM C PURPOSE C LIBRARY SLATEC FNLIB CXXXCATEGORY CI CX xTYPE SINGLE PRE CX KEYWORDS C AUTHOR Fullerton W CX X DESCRIPTION C BINOM N M C C REFERENCES NONE C ROUTINES CALLED A CX X XREVISION HISTORY C 770 C 890 C 890 C 891 900 900 XEND PROLOGUE BINO 701 531 531 214 315 326
7. st appel e r f rence externe Attention Les fichiers objets d extension o sont des fi chiers binaires mais ne sont pas ex cutables L dition de liens to link tente de faire le lien entre les symboles d finis ou requis dans les diff rents fichiers objets o ou archives a pour enfin produire le fichier ex cutable Si l diteur de liens ne peut pas lier une r f rence externe il affiche un message d erreur et ne peut pas produire l ex cutable Exercice Les diff rents tests de compilation se feront sur les fichiers new ton f et zero f de la correction du TD n 5 cf http snovae in2p3 fr ycopin enseignements info_ENS html le fichier zero f contient le programme principal ainsi que la fonction tudier et sa d riv e af tan dis que le fichier newton f contient la d finition de la fonction newton et de ses d pendances Dans les cas simples p ex production d un programme partir d un ou plusieurs fichiers sources ces deux actions sont regroup es de fa on transpa rente dans une seule commande Dans notre cas g77 Wall o zero exe zero f newton f produit l ex cutable zero exe partir des deux fichiers zero fetnewton f comme si ces deux fichiers avaient t concat n s en un seul avec l avantage cependant de la modularit Cependant dans les cas plus complexes les deux actions doivent tre s par es IM me si ici cela ne s av re videmm
8. t la compilation la vol e de zero f Lorsque la librairie est stock e dans un r pertoire diff rent du r pertoire courant p ex dans le r pertoire de compilation de la biblioth que ou dans un r pertoire d di toutes vos biblioth ques on peut utiliser les options de compilation Lr pertoire 1nomlib pour une librairie libnomlib a stock e dans le r pertoire r pertoire Exercice Cr er une librairie personnelle p ex Llibperso a contenant les diff rentes routines d velopp es dans les TD pr c dents et reformuler les programmes principaux pour utiliser cette librairie 4 Librairies externes Nous vous fournissons pour ce TD deux librairies externes en F77 que vous pouvez maintenant utiliser pour le d veloppement de vos programmes la librairie p dagogique de Numerical Recipes la librairie SLATEC Ces librairies sont disponibles sous home ycopin Fortran lib etsenomment respectivement libnr77 a et libslatec a Vous pouvez ventuellement copier ces fichiers chez vous mais il est pr f rable de lier vos programmes directement avec les librairies originelles 4 1 Numerical Recipes La NUMREC www nr com est une librairie p dagogique regroupant les diff rentes routines introduites et discut es dans le c l bre livre Numeri cal Recipes disponible en ligne http www library cornell edu nr bookfpaf html Il ne s agit donc pas r ellement d une librairie usage pro

Download Pdf Manuals

image

Related Search

Related Contents

Tecumseh HGAB514BAA Drawing Data  4 pages A4 Propistar 0314.indd  weber.rev super iggam  PDF:502KB  Cobra Electronics microTALK 800 Parts list  shine webbox 2013-01-11  XE-A113 Operation-Manual GB DE FR ES NL  LG WM4270HWA Specification Sheet  SK1- User Manual 5.28  X-Pro1  

Copyright © All rights reserved.
Failed to retrieve file