Bonjour,
que signifie la directive #pragma sous VC++ ?
Merci !
Version imprimable
Bonjour,
que signifie la directive #pragma sous VC++ ?
Merci !
Il me semble que sous tous les compilateurs, #pragma signifie "Faire un truc spécifique si le compilateur comprend le pragma, sinon on ignore". Ainsi, gcc connait certains pragmas (notamment ceux d'OpenMP si OpenMP est activé).
Cela dit, de nombreux pragmas sont connus de Visual C++ et inconnus de gcc:
- message: Affiche un message
- warning: Active ou désactive certains warnings. Sous un Visual moderne, il y a même une pile intégrée.
- comment: Ajoute une directive dans le fichier objet produit. Généralement une directive destinée à l'éditeur de liens (notamment, #pragma comment(lib, "nomlib.lib") ajoute une bibliothèque statique à l'édition de lien et #pragma comment(linker, "...") ajoute directement la chaîne "..." à la ligne de commande du linker.
- optimize: Active ou désactive certaines options d'optimisation.
- pack: Change les contraintes d'alignement/padding des structures, une pile est intégrée.
Une liste exhaustive des pragmas supportés par Visual est disponible sur MSDN :recherch: