 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Michael Moreno Guest
|
Posted: Sat Jun 26, 2004 8:21 am Post subject: #pragma once |
|
|
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
Est-elle spécifique à VC++ ou bien est-ce compatible avec gcc aussi ?
Merci pour votre aide.
--
Drakkhen
http://michael.moreno.free.fr/
|
|
| Back to top |
|
 |
Fabien LE LEZ Guest
|
Posted: Sat Jun 26, 2004 11:38 am Post subject: Re: #pragma once |
|
|
On Sat, 26 Jun 2004 09:21:06 +0100, Michael Moreno
<michael.Enlever.ce.Bout.Moreno (AT) free (DOT) fr>:
| Quote: | 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
|
|
| Back to top |
|
 |
Loïc Joly Guest
|
Posted: Sat Jun 26, 2004 8:43 pm Post subject: Re: #pragma once |
|
|
Michael Moreno wrote:
| Quote: | 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.
| Quote: | 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
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|