Macros prédéfinies
Répertorie les macros prédéfinies d' ANSI C et d'implémentation Microsoft C++.
Le compilateur identifie les macros prédéfinies ANSI C et l'implémentation Microsoft C++ fournit plusieurs autres.Ces macros ne prennent pas d'arguments et ne peuvent pas être redéfinies.Certaines macros prédéfinies répertoriées ci-dessous sont définies avec plusieurs valeurs.Consultez les tableaux suivants pour plus d'informations.
Macros prédéfinies ANSI- Conforme
Macro |
Description |
---|---|
__DATE__ |
La date de compilation du fichier source actuel.La date est un littéral de chaîne du formulaire Dd Mmm yyyy.Le nom du mois Mmm est le même que pour les dates générées par la fonction de bibliothèque asctime déclaré dans TIME.H. |
__FILE__ |
Le nom du fichier source actuel.__FILE__ se développe vers une chaîne délimitée par des guillemets doubles.Pour s'assurer que le chemin d'accès complet au fichier est affiché, utilisez /FC (Chemin d'accès complet du fichier de code source dans les diagnostics). |
__LINE__ |
Le numéro de ligne dans le fichier source actuel.Le numéro de ligne est une constante entière décimale.Il peut être modifié avec une directive d' #line . |
__STDC__ |
Indique la compatibilité complète avec la norme d' ANSI C.Défini comme constante entière 1 uniquement si l'option du compilateur de /Za est donnée et vous ne compilez pas le code C++ ; sinon n'est pas défini. |
__TIME__ |
La période de compilation la plus récente du fichier source actuel.Le temps est un littéral de chaîne du formulaire hh:mm:ss. |
__TIMESTAMP__ |
Date et heure de la dernière modification du fichier source actuel, exprimée comme un littéral de chaîne dans le formulaire Ddd Mmm Date hh:mm:ss yyyy, où DDD est abrégé du jour de la semaine et de date est un entier de 1 à 31. |
Macros prédéfinies spécifiques
Macro |
Description |
---|---|
_ATL_VER |
Définit la version ATL. Dans Visual Studio 2010, _ATL_VER est défini en tant que 0x1000. |
_CHAR_UNSIGNED |
Le type par défaut d' char est non signé.Défini quand /J est spécifié. |
__CLR_VER |
Définit la version du common langage runtime utilisé lorsque l'application a été compilée.La valeur retournée est au format suivant : Mmmbbbbb où,
|
__cplusplus_cli |
Défini quand vous compilez avec /clr, /clr:pure, ou /clr:safe.La valeur du __cplusplus_cli est 200406.Le __cplusplus_cli est appliquée dans l'unité de traduction.
|
__COUNTER__ |
Se développe vers un entier en commençant par 0 et incrémentant par 1 chaque fois qu'il est utilisé dans un fichier source ou les en-têtes inclus dans le fichier source.__COUNTER__ se souvient son état lorsque vous utilisez des en-têtes précompilés. L'exemple suivant utilise __COUNTER__ pour assigner des identificateurs uniques à trois objets différents du même type. D'abord, prenons la définition de classe suivante.Le constructeur accepte un entier comme paramètre.
Dans le principal, l'application déclare trois objets de type exampleClass, à l'aide de __COUNTER__ comme paramètre d'identificateur unique.
|
__cplusplus |
Défini pour le programme C++ uniquement. |
_CPPRTTI |
Défini pour le code compilé avec /GR (activez le Run aller-retour Type Information). |
_CPPUNWIND |
Défini pour le code compilé avec /GX (activer la gestion des exceptions). |
_DEBUG |
|
_DLL |
Défini quand /MD ou /MDd (DLL multithread) est spécifié. |
__FUNCDNAME__ |
Valide que dans une fonction.Définit nom décoré de la fonction englobante sous forme de chaîne. __FUNCDNAME__ n'est pas développé si vous utilisez l'option du compilateur de /EP ou de /P . L'exemple suivant utilise __FUNCDNAME__, __FUNCSIG__, les macros et d' __FUNCTION__ pour afficher les informations de fonction.
|
__FUNCSIG__ |
Valide que dans une fonction.Définit la signature de la fonction englobante sous forme de chaîne. __FUNCSIG__ n'est pas développé si vous utilisez l'option du compilateur de /EP ou de /P . Sur un système d'exploitation 64 bits, la convention d'appel est __cdecl par défaut. Pour obtenir un exemple, consultez __FUNCDNAME__. |
__FUNCTION__ |
Valide que dans une fonction.Définit le nom non décoré de la fonction englobante sous forme de chaîne. __FUNCTION__ n'est pas développé si vous utilisez l'option du compilateur de /EP ou de /P . Pour obtenir un exemple, consultez __FUNCDNAME__. |
_INTEGRAL_MAX_BITS |
Stocke la taille maximale (dans les bits) pour un type intégral.
|
_M_ALPHA |
Défini pour d'ALPHAS plateformes de DEC (plus) non prises en charge. |
_M_AMD64 |
Défini pour les processeurs x64. |
_M_CEE |
Défini pour une compilation qui utilise une forme d' /clr (/clr:oldSyntax, /clr:safe, par exemple). |
_M_CEE_PURE |
Défini pour une compilation qui utilise /clr:pure. |
_M_CEE_SAFE |
Défini pour une compilation qui utilise /clr:safe. |
_M_IX86 |
Défini pour les processeurs x86.Consultez le tableau de valeurs pour _M_IX86 ci-dessous pour plus d'informations.Cela n'est pas défini pour les processeurs x64. |
_M_IA64 |
Défini pour les processeur 64 bits de famille de processeurs d' Itanium . |
_M_ARM_FP |
Développe à la valeur pour indiquer que l'option de compilateur pour /arch a été utilisé :
|
_M_IX86_FP |
Développe à la valeur pour indiquer que l'option de compilateur pour /arch a été utilisé :
|
_M_MPPC |
Défini pour les plateformes Power Macintosh (plus) non prises en charge. |
_M_MRX000 |
Défini pour les plateformes MIPS (plus) non prises en charge. |
_M_PPC |
Défini pour les plateformes PowerPC de (plus) non prises en charge. |
_M_X64 |
Défini pour les processeurs x64. |
_MANAGED |
Défini pour être 1 lorsque /clr est spécifié. |
_MFC_VER |
Définit la version MFC.Par exemple, dans Visual Studio 2010, _MFC_VER est défini comme 0x0A00. |
_MSC_BUILD |
Correspond au numéro de révision du numéro de version du compilateur.Le numéro de révision est la quatrième composant du numéro de version période- délimité.Par exemple, si le numéro de version du compilateur Visual C++ a 15.00.20706.01 ans, la macro d' _MSC_BUILD correspond à 1. |
_MSC_EXTENSIONS |
Cette macro est définie lorsque vous compilez avec l'option du compilateur de /Ze (valeur par défaut).Sa valeur, une fois définie, est 1. |
_MSC_FULL_VER |
Prend le principale, au secondaire, et aux composants de numéro de build du numéro de version du compilateur.Le nombre majeur est le premier composant du numéro de version période- délimité, le nombre secondaire est le deuxième composant, et le numéro de build est le troisième composant.Par exemple, si le numéro de version du compilateur Visual C++ a 15.00.20706.01 ans, la macro d' _MSC_FULL_VER correspond à 150020706.Tapez cl /? à la ligne de commande pour afficher le numéro de version du compilateur. |
_MSC_VER |
Correspond aux nombres importants et mineurs du numéro de version du compilateur.Le nombre majeur est le premier composant du numéro de version période- délimitation et le nombre secondaire est le deuxième composant. Par exemple, si le numéro de version du compilateur Visual C++ a 15.00.20706.01 ans, la macro d' _MSC_VER correspond à 1500. Dans Visual Studio 2010, _MSC_VER est défini en tant que 1600. |
__MSVC_RUNTIME_CHECKS |
Défini quand l'une des options du compilateur de /RTC est spécifiée. |
_MT |
Défini quand /MD ou /MDd (DLL multithread) ou /MT ou /MTd multithread () est spécifié. |
_NATIVE_WCHAR_T_DEFINED |
Défini quand /Zc:wchar_t est utilisé. |
_OPENMP |
Défini lors de la compilation avec /openmp, retourne un entier représentant la date de la spécification OpenMP implémenté par Visual C++.
|
_VC_NODEFAULTLIB |
Défini quand /Zl est utilisé ; consultez /Zl (Omettre le nom de la bibliothèque par défaut) pour plus d'informations. |
_WCHAR_T_DEFINED |
Défini quand /Zc:wchar_t est utilisé ou si wchar_t est défini dans un fichier d'en-tête du système inclus dans votre projet. |
_WIN32 |
Défini pour les applications Win32 et de Win64.Toujours défini. |
_WIN64 |
Défini pour les applications pour Win64. |
_Wp64 |
Défini en spécifiant /Wp64. |
Comme indiqué dans le tableau suivant, le compilateur génère une valeur pour les identificateurs de préprocesseur qui reflètent l'option de processeur spécifié.
Valeurs pour _M_IX86
Option dans l'environnement de développement |
Option de ligne de commande |
Valeur résultante |
---|---|---|
Fusion |
/GB |
_M_IX86 = 600 (valeur par défaut.Les futurs compilateurs émettront une valeur différente pour refléter le processeur dominant.) |
Pentium |
/G5 |
_M_IX86 = 500 |
Pentium Pro, Pentium II, et Pentium III |
/G6 |
_M_IX86 = 600 |
80386 |
/G3 |
_M_IX86 = 300 |
80486 |
/G4 |
_M_IX86 = 400 |