IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

d�finition de __cplusplus


Sujet :

C++

  1. #1
    Membre �prouv�
    Inscrit en
    Novembre 2006
    Messages
    1 073
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 073
    Par d�faut d�finition de __cplusplus
    je vois souvent :
    __cplusplus
    comme par exemple:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    #ifdef __cplusplus
    # define __BEGIN_DECLS extern "C" {
    # define __END_DECLS }
    #else
    A quoi cela correspond? Est-ce une macro d�finie par d�faut?
    Je pose cette question parce qu'une fois j'avais d�fini une variable __cplusplus et ca causait des erreurs. J'ai jamais su pourquoi, jusqu'a ce que j'ai vu __cplusplus dans un programme.

  2. #2
    Expert confirm�
    Avatar de raptor70
    Inscrit en
    Septembre 2005
    Messages
    3 173
    D�tails du profil
    Informations personnelles :
    �ge : 40

    Informations forums :
    Inscription : Septembre 2005
    Messages : 3 173
    Par d�faut
    Si cette chose s'utilise par un #if ou #ifdef ... c'est une constante de pr�compilation.

    Trois choses peuvent les d�finir :
    * #define MA_MACRO avec une valeur optionnelle
    * option du compilateur
    * macro pr�d�finie par d�faut

    Celle qui commence par "__" � de forte chance d'etre une macro par d�faut..

    Un petit lien qui peut t'aider : http://msdn.microsoft.com/fr-fr/library/b0084kay.aspx

  3. #3
    Membre chevronn�
    Avatar de NewbiZ
    Profil pro
    �tudiant
    Inscrit en
    Juillet 2002
    Messages
    184
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Juillet 2002
    Messages : 184
    Par d�faut
    __cplusplus est d�fini par d�faut pour les fichiers � compiler en C++.
    Le bout de code que tu as mit permet d'inclure des sources C dans un programme potentiellement en C++.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #ifdef __cplusplus  // On est en C++
    # define __BEGIN_DECLS extern "C" {
    # define __END_DECLS }
    #else               // On est en C
    # define __BEGIN_DECLS
    # define __END_DECLS
    #endif
     
    #__BEGIN_DECLS
    #include "Cfile1.h"
    #include "Cfile2.h"
    #__END_DECLS
     
    // ...
    Ce qui donnera en C++ :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    extern "C" {
    #include "Cfile1.h"
    #include "Cfile2.h"
    }
    Et en C :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    #include "Cfile1.h"
    #include "Cfile2.h"

Discussions similaires

  1. R�ponses: 21
    Dernier message: 09/08/2007, 11h46
  2. R�ponses: 2
    Dernier message: 29/07/2003, 12h52
  3. [Sybase] D�finition des symboles
    Par SoaB dans le forum Sybase
    R�ponses: 5
    Dernier message: 19/03/2003, 23h06
  4. D�finition de "M�talangage"
    Par No dans le forum Langages de programmation
    R�ponses: 5
    Dernier message: 19/07/2002, 14h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo