Pragma C'est quoi ?

[Résolu]
Signaler
Messages postés
139
Date d'inscription
mardi 16 mai 2006
Statut
Membre
Dernière intervention
23 juin 2008
-
Messages postés
25
Date d'inscription
vendredi 4 août 2006
Statut
Membre
Dernière intervention
23 mai 2007
-
Bonjour
J'aimerais savoir a quoi sert pragma (lib,"lib.a")
ou directement PRAGMA

4 réponses

Messages postés
1787
Date d'inscription
lundi 22 novembre 2004
Statut
Membre
Dernière intervention
31 janvier 2009
2
#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"
Messages postés
1787
Date d'inscription
lundi 22 novembre 2004
Statut
Membre
Dernière intervention
31 janvier 2009
2
Je retire ma dernière phrase
Le compilo de DevC++ semble accepter ces directives
ULARGE_INTEGERJokyQi=QI("Joky"
Messages postés
139
Date d'inscription
mardi 16 mai 2006
Statut
Membre
Dernière intervention
23 juin 2008

Merci !
Messages postés
25
Date d'inscription
vendredi 4 août 2006
Statut
Membre
Dernière intervention
23 mai 2007
1
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~!