C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

#pragma once

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French)
View previous topic :: View next topic  
Author Message
Michael Moreno
Guest





PostPosted: Sat Jun 26, 2004 8:21 am    Post subject: #pragma once Reply with 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


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





PostPosted: Sat Jun 26, 2004 11:38 am    Post subject: Re: #pragma once Reply with quote



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





PostPosted: Sat Jun 26, 2004 8:43 pm    Post subject: Re: #pragma once Reply with quote



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
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French) All times are GMT
Page 1 of 1

 
Jump to:  
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


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.