Pragma C'est quoi ?

Résolu
sebastienmz Messages postés 139 Date d'inscription mardi 16 mai 2006 Statut Membre Dernière intervention 23 juin 2008 - 21 sept. 2006 à 15:52
hibakusha Messages postés 25 Date d'inscription vendredi 4 août 2006 Statut Membre Dernière intervention 23 mai 2007 - 23 sept. 2006 à 14:05
Bonjour
J'aimerais savoir a quoi sert pragma (lib,"lib.a")
ou directement PRAGMA

4 réponses

cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
21 sept. 2006 à 16:30
#pragma c'est une directive du compilo qui gère les linkages aux libraries ( comme ton exemple ), les redéfinition de point d'entrée, les sections partagées. enfin bref des ptits truc utiles

Par contre sous DevC++ je pense bien qu'il y a peu de chance à ce que ça marche...

ULARGE_INTEGERJokyQi=QI("Joky"
3
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
21 sept. 2006 à 16:32
Je retire ma dernière phrase
Le compilo de DevC++ semble accepter ces directives
ULARGE_INTEGERJokyQi=QI("Joky"
3
sebastienmz Messages postés 139 Date d'inscription mardi 16 mai 2006 Statut Membre Dernière intervention 23 juin 2008
22 sept. 2006 à 09:26
Merci !
3
hibakusha Messages postés 25 Date d'inscription vendredi 4 août 2006 Statut Membre Dernière intervention 23 mai 2007 1
23 sept. 2006 à 14:05
Un peu plus précisement :

- les directives pragma sont des directives propres à un compilateur donné et ignoré par les autres. Donc ton #pragma (lib,"lib.a") ne fonctionera à coup sûr qu'avec ton complio.

- les directives pragma ne concernent que les préprocesseur et les compilateurs. Celle de ta question indique au compilo qu'il faudra aller chercher la déclaration de certains symboles dans lib.a (enfin j'imagine...), mais d'autre peuvent influencer l'alignement, empecher des warning ....

- les directives pragma ne sont pas normalisées, donc pas portables :  ne pas compter sur elles. Il faut limiter leur utilisation pour les cas précis, par exemple très près de la machine et pour du code dont les effetes ne seront pas portable (alignement [beuark], forcer le logement de certaines variables en mémoire ... que des choses dingues...)

zNoRt~!
1