• Aucun résultat trouvé

Pratique de la programmation et projet

N/A
N/A
Protected

Academic year: 2022

Partager "Pratique de la programmation et projet"

Copied!
2
0
0

Texte intégral

(1)

Pratique de la programmation et projet

TP 2 : pr´eprocesseur, compilation s´epar´ee et librairies

Fr´ ed´ eric Vivien

Utilisation du pr´ eprocesseur

1. ´Ecrivez des macros :

(a) D´efinissant une constanteNvalant 25 ;

(b) D´efinissant une constanteM´egale au carr´e deN; (c) Calculant la valeur absolue d’un nombre ;

(d) Calculant le maximum de deux nombres.

Vous utiliserez toutes ces macros dans un programme qui tire au sort M nombres (en utilisant la fonctionrandom) et qui retourne le nombre dont la valeur absolue est maximale.

2. Inclusion de fichiers en cascade :

(a) D´efinissez, dans un fichiertype.h, un typevecteurcompos´e de trois r´eels.

(b) D´efinissez, dans un fichiernorme.h, l’en-tˆete d’une fonctionnormeprenant en entr´ee un vecteur et renvoyant sa norme. La fonction norme sera r´ealis´ee dans le fichier norme.c.

(c) D´efinissez, dans un fichierproduits.h, les en-tˆetes des fonctionsscalaire et vectorielprenant deux vecteurs en entr´ee et renvoyant respectivement leur produit scalaire et leur produit vectoriel. Ces fonctions seront r´ealis´ees dans le fichierproduits.c.

Produit scalaire : a b c

. x y z

=ax+by+cz, produit vectoriel : a b c

∧ x y z

=

bz−cy cx−az ay−bx

.

(d) R´ealisez dans un fichiercombinaison.c un programme qui saisit deux vecteurs et calcule la norme de leur produit vectoriel.

G´ en´ eration d’une librairie

A partir des fichiers sources` norme.cetproduits.cde la question pr´ec´edente on veut cr´eer une librairie (ou archive)vecteur.

1. statique ; 2. dynamique.

Dans les deux cas vous g´en´ererez l’ex´ecutablecombinaisonau moyen de ces librairies.

Vous regarderez les fichiers norme.o,produits.o, libvecteur.so, combinaison.o et combinaisonau moyen de la commandenm.

Compilation s´ epar´ ee

1. Dans l’exercice pr´ec´edent tous les fichiers d’en-tˆetes et tous les fichiers sources ´etaient dans le mˆeme r´epertoire. Mettez les fichiers sources dans un mˆeme r´epertoire et les trois fichiers d’en-tˆetes dans trois r´epertoires diff´erents. Compilez le tout (en utilisant l’option-Idegcc).

1

(2)

2. Vous trouverez sur la page http://icps.u-strasbg.fr/~vivien/Enseignement/PPP-2001-2002/

une archive contenant les sources d’un programme (sources-exemple.tgz). Pour pouvoir compiler ces sources et obtenir un programme imscanvous devrez utiliser deux librairies :

(a) La librairie multi-pr´ecision de GNU, renomm´ee dans notre casmagmpet install´ee suradadans le r´epertoire :/users/prof/vivien/IciEstLaGmp.

(b) La librairiepolylibgmp, install´ee suradadans le r´epertoire :/users/prof/vivien/LaPolylib, et qui a besoin de la librairie pr´ec´edente.

Vous compilerez ce programme en faisant une ´edition de liens (a) statique ;

(b) dynamique.

Dans les deux cas vous testerez votre programme en l’ex´ecutant sur le fichierimscan-exemple(imscan

¡ imscan-exemple).

Quels sont les probl`emes que vous rencontrez ? L’ordre dans lequel les librairies sont pass´ees au com- pilateur est-il important ? Dans les deux cas, pensez `a regarder la taille des ex´ecutables g´en´er´es.

2

Références

Documents relatifs

Par application de l'algorithm d'orthonormailsation de Schmidt, on trouve une famille orthonormale (( 1 , ..,  n ) qui est donc une base orthonormale de E. Théorème de la

Le produit scalaire des vecteurs ⃗ et ⃗, noté ⃗. Pour plus de simplicité, il a donc été choisi deux vecteurs de même origine dans la définition.. Le vecteur nul est orthogonal

Une droite d est orthogonale à toute droite d’un plan P si et

Preuve : Toutes ces propriétés se démontrent facilement en utilisant les coordonnées des vecteurs dans un

Toute forme linéaire sur un espace vectoriel euclidien peut s’interpréter comme le produit scalaire avec un vecteur fixé.. On effectuera le calcul du vecteur servant à représenter

Montrer de deux façons différentes que (AG) et (CFH) sont orthogonaux.. Montrer de deux façons différentes que (AG) et (IJ)

Observez un teslamètre, un appareil de mesure qui permet de mesurer la valeur d’un champ magnétique (en tesla T) en un endroit donné. Positionnez plusieurs aiguilles

On se place dans