Algorithme et Programmation

IUP 1 - Année 2002/2003

TP n°6


Introduction


Les points abordés dans ce TP sont :



Ce qui est à faire :

1ère Partie: bibliothéque de fonctions sur les nombres complexes

Il s'agit d'écrire une nouvelle version du programme de dessin de l'ensemble de Mandelbrot (cf. troisième partie du TP 5)
où l'on se sert d'une bibliothèque de fonctions sur les nombres complexes.
L'essentiel de l'exercice consiste donc à créer cette bibliothèque.

Voici les étapes à suivre pour créer une bibliothèque dont le nom est complexe :

  1. Sous votre répertoire privé (/users/iup1/username), créer un répertoire LIBS où toutes vos bibliothèques seront placées,
    puis créer 2 fichiers dans ce répertoire :
    • un fichier complexe.h qui contient la signature des types et fonctions
    • un fichier complexe.c qui commence par #include <complexe.h> et contient la définition de chaque fonction

  2. Compiler ces fichiers avec les commandes suivantes :
      gcc -c complexe.c -I.      
      ar rc libcomplexe.a complexe.o 
    
    • La première commande compile le fichier complexe.c et crée un fichier complexe.o qui contient
      le code correspondant aux "objets" (types et fonctions) définis dans le fichier complexe.c.
      L'extension .o est réservée aux fichiers qui contiennent un tel code dît code objet.
      Un code objet n'est exécutable que s'il contient le code de l'objet main (fonction principale).
      Donc, contrairement au code contenu dans le fichier a.out, le code objet du fichier complexe.o n'est pas exécutable.
    • La deuxième commande crée la bibliothèque complexe sous la forme d'un fichier libcomplexe.a.
      Par convention, le nom du fichier commence par lib comme librairie : on parle indifférement
      de bibliothèque ou de librairie de fonctions. L'extension .a est réservée aux fichiers "archive".
      De manière générale, une archive regroupe différents fichiers. Une bibliothèque est une archive
      qui regroupe des fichiers contenant du code objet (d'extension .o).
      En l'occurrence, la bibliothèque complexe est construite à partir du seul fichier complexe.o.

Une fois la bibliothèque créée, pour utiliser les types et fonctions de la bibliothèque dans un programme, disons prog.c,
il suffit d'ajouter la ligne #include <complexe.h> au début du programme et de compiler le programme avec les options -I,-L et -l comme suit :

gcc prog.c -I/users/iup1/username/LIBS -L/users/iup1/username/LIBS -lcomplexe
(cf. la deuxième partie du TP 5 pour l'explication de ces options)


2ème Partie: bibliothèque de fonctions sur les grands entiers




le 12 novembre 2002