On Sat, 26 Jun 2004 09:21:06 +0100, Michael Moreno :
Est-elle spécifique à VC++ ou bien est-ce compatible avec gcc aussi ?
A priori, un #pragma est spécifique au compilateur, et doit donc être décrit dans la doc d'icelui.
-- schtroumpf schtroumpf
Loïc Joly
Michael Moreno wrote:
Bonjour,
je ne comprends pas ce que signifie cette directive: "#pragma once".
Est-elle équivalent à l'écriture :
#ifndef MA_CLASSE_H #define MA_CLASSE_H
... #endif
A priori, elle est potentiellement légèrement plus simple à optimiser pour l'auteur du compilo. En effet, les #ifndef, sauf optimisation spécifique (je ne sais d'ailleur pas si beaucoup de compilos la font) du compilo, demande à lire quand même à chaque l'ensemble du fichier .h à la recherche du #endif correspondant (d'où la préconnisation par certains d'include guard externes, jamais essayé, donc je ne peux pas donner mon avis). Avec ce #pragma, on sais que ce n'est pas un #define quelconque, mais un include guard.
Est-elle spécifique à VC++ ou bien est-ce compatible avec gcc aussi ?
Comme touys les #pragma, c'est spécifique à un compilo. Celui là est assez connu, mais je ne sais pas si gcc l'utilise.
-- Loïc
Michael Moreno wrote:
Bonjour,
je ne comprends pas ce que signifie cette directive: "#pragma once".
Est-elle équivalent à l'écriture :
#ifndef MA_CLASSE_H
#define MA_CLASSE_H
...
#endif
A priori, elle est potentiellement légèrement plus simple à optimiser
pour l'auteur du compilo. En effet, les #ifndef, sauf optimisation
spécifique (je ne sais d'ailleur pas si beaucoup de compilos la font) du
compilo, demande à lire quand même à chaque l'ensemble du fichier .h à
la recherche du #endif correspondant (d'où la préconnisation par
certains d'include guard externes, jamais essayé, donc je ne peux pas
donner mon avis). Avec ce #pragma, on sais que ce n'est pas un #define
quelconque, mais un include guard.
Est-elle spécifique à VC++ ou bien est-ce compatible avec gcc aussi ?
Comme touys les #pragma, c'est spécifique à un compilo. Celui là est
assez connu, mais je ne sais pas si gcc l'utilise.
je ne comprends pas ce que signifie cette directive: "#pragma once".
Est-elle équivalent à l'écriture :
#ifndef MA_CLASSE_H #define MA_CLASSE_H
... #endif
A priori, elle est potentiellement légèrement plus simple à optimiser pour l'auteur du compilo. En effet, les #ifndef, sauf optimisation spécifique (je ne sais d'ailleur pas si beaucoup de compilos la font) du compilo, demande à lire quand même à chaque l'ensemble du fichier .h à la recherche du #endif correspondant (d'où la préconnisation par certains d'include guard externes, jamais essayé, donc je ne peux pas donner mon avis). Avec ce #pragma, on sais que ce n'est pas un #define quelconque, mais un include guard.
Est-elle spécifique à VC++ ou bien est-ce compatible avec gcc aussi ?
Comme touys les #pragma, c'est spécifique à un compilo. Celui là est assez connu, mais je ne sais pas si gcc l'utilise.