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

MFC Discussion :

Macro __LINE__ __FILE__ ...


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2003
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 28
    Par défaut Macro __LINE__ __FILE__ ...
    Bonjour,

    Je travaille sous Windows 2000 avec MVC++ 6.0.

    J'ai utilisé sur un code les macros de types __LINE__, et __FILE__ qui me permettent de recuperer (en precompilation) la ligne du code et le nom du fichier en cours. Mais meme apres une recherche sur la MSDN pas moyen de trouver une liste exhaustive de ces macros au demeurant super pratiques.

    D'ou ma question : est ce que vous savez s'il existe une liste de ces macros et ou on peut la trouver ?

    Merci d'avance

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2003
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 247
    Par défaut
    Un petit copier/coller de MSDN. Apparement, tu as mal cherché ^^.

    Citation Envoyé par MSDN
    The compiler recognizes 10 predefined ANSI C macros, and the Microsoft C++ implementation provides several more. These macros take no arguments and cannot be redefined. Their value, except for __LINE__ and __FILE__, must be constant throughout compilation. Some of the predefined macros listed below are defined with multiple values. See the following tables for more information.

    ANSI-Compliant Predefined Macros

    Macro Description
    __DATE__ The compilation date of the current source file. The date is a string literal of the form Mmm dd yyyy. The month name Mmm is the same as for dates generated by the library function asctime declared in TIME.H.
    __FILE__ The name of the current source file. __FILE__ expands to a string surrounded by double quotation marks.
    You can create your own wide string version of __FILE__ as follows:

    #include <stdio.h>
    #define WIDEN2(x) L ## x
    #define WIDEN(x) WIDEN2(x)
    #define __WFILE__ WIDEN(__FILE__)
    wchar_t *pwsz = __WFILE__;

    int main()
    {
    }

    __LINE__ The line number in the current source file. The line number is a decimal integer constant. It can be altered with a #line directive.
    __STDC__ Indicates full conformance with the ANSI C standard. Defined as the integer constant 1 only if the /Za compiler option is given and you are not compiling C++ code; otherwise is undefined.
    __TIME__ The most recent compilation time of the current source file. The time is a string literal of the form hh:mm:ss.
    __TIMESTAMP__ The date and time of the last modification of the current source file, expressed as a string literal in the form Ddd Mmm Date hh:mm:ss yyyy, where Ddd is the abbreviated day of the week and Date is an integer from 1 to 31.

    Microsoft-Specific Predefined Macros

    Macro Description
    _ATL_VER Defines the ATL version.
    _CHAR_UNSIGNED Default char type is unsigned. Defined when /J is specified.
    __COUNTER__ Expands to an integer starting with 0 and incrementing by 1 every time it is used in a compiland. __COUNTER__ remembers its state when using precompiled headers. If the last __COUNTER__ value was 4 after building a precompiled header (PCH), it will start with 5 on each PCH use.
    __COUNTER__ lets you generate unique variable names. You can use token pasting with a prefix to make a unique name. For example:

    #include <stdio.h>
    #define FUNC2(x,y) x##y
    #define FUNC1(x,y) FUNC2(x,y)
    #define FUNC(x) FUNC1(x,__COUNTER__)

    int FUNC(my_unique_prefix);
    int FUNC(my_unique_prefix);

    int main() {
    my_unique_prefix0 = 0;
    printf("\n%d",my_unique_prefix0);
    my_unique_prefix0++;
    printf("\n%d",my_unique_prefix0);
    }

    __cplusplus Defined for C++ programs only.
    _CPPLIB_VER Defined if you include any of the C++ Standard Library headers; reports which version of the Dinkumware header files are present.
    _CPPRTTI Defined for code compiled with /GR (Enable Run-Time Type Information).
    _CPPUNWIND Defined for code compiled with /GX (Enable Exception Handling).
    _DEBUG Defined when compiling with /LDd, /MDd, /MLd, and /MTd.
    _DLL Defined when /MD or /MDd (Multithread DLL) is specified.
    __FUNCDNAME__ Valid only within a function and returns the decorated name of the enclosing function (as a string). __FUNCDNAME__ is not expanded if you use the /EP or /P compiler option.
    __FUNCSIG__ Valid only within a function and returns the signature of the enclosing function (as a string). __FUNCSIG__ is not expanded if you use the /EP or /P compiler option.
    __FUNCTION__ Valid only within a function and returns the undecorated name of the enclosing function (as a string). __FUNCTION__ is not expanded if you use the /EP or /P compiler option.
    _M_ALPHA Defined for DEC ALPHA platforms. It is defined as 1 by the ALPHA compiler, and it is not defined if another compiler is used.
    _M_IX86 Defined for x86 processors. See Values for _M_IX86 for more details.
    _M_IA64 Defined for 64-bit processors.
    _M_MPPC Defined for Power Macintosh platforms (no longer supported).
    _M_MRX000 Defined for MIPS platforms (no longer supported).
    _M_PPC Defined for PowerPC platforms (no longer supported).
    _MANAGED Defined to be 1 when /clr is specified.
    _MFC_VER Defines the MFC version. For example, 0x0700 represents MFC version 7.
    _MSC_EXTENSIONS This macro is defined when compiling with the /Ze compiler option (the default). Its value, when defined, is 1.
    _MSC_VER Defines the major and minor versions of the compiler. For example, 1300 for Microsoft Visual C++ .NET. 1300 represents version 13 and no point release. This represents the fact that there have been a total of 13 releases of the compiler.
    If you type cl /? at the command line, you will see the full version for the compiler you are using.

    __MSVC_RUNTIME_CHECKS Defined when one of the /RTC compiler options is specified.
    _MT Defined when /MD or /MDd (Multithreaded DLL) or /MT or /MTd (Multithreaded) is specified.
    _WCHAR_T_DEFINED
    and

    _NATIVE_WCHAR_T_DEFINED
    Defined when wchar_t is defined. Typically, wchar_t is defined when you use /Zc:wchar_t or when typedef unsigned short wchar_t; is executed in code.
    _WIN32 Defined for applications for Win32 and Win64. Always defined.
    _WIN64 Defined for applications for Win64.
    _Wp64 Defined when specifying /Wp64.

    As shown in following table, the compiler generates a value for the preprocessor identifiers that reflect the processor option specified.

    Values for _M_IX86

    Option in Development Environment Command-Line Option Resulting Value
    Blend /GB _M_IX86 = 600 (Default. Future compilers will emit a different value to reflect the dominant processor.)
    Pentium /G5 _M_IX86 = 500
    Pentium Pro, Pentium II, and Pentium III /G6 _M_IX86 = 600
    80386 /G3 _M_IX86 = 300
    80486 /G4 _M_IX86 = 400

  3. #3
    Membre averti
    Inscrit en
    Mai 2003
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 28
    Par défaut
    Super !

    Autant pour moi j'ai du mal chercher

    Merci

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2003
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 247
    Par défaut
    Citation Envoyé par elsargento
    Autant pour moi
    Excuse moi, mais je ne peux pas m'en empècher ^^
    http://www.langue-fr.net/index/A/au_temps-autant.htm

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 10
    Dernier message: 09/12/2014, 16h17
  2. [ Vc 2003 ] Macro __FILE__ et full path ?
    Par Clad3 dans le forum Visual C++
    Réponses: 1
    Dernier message: 26/07/2006, 19h30
  3. [VBA-E] [Excel] Lancer une macro à une heure donnée
    Par Lysis dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/10/2002, 12h15
  4. Qu'est-ce qu'une macro ?
    Par karli dans le forum Assembleur
    Réponses: 2
    Dernier message: 01/09/2002, 03h38
  5. Réponses: 2
    Dernier message: 22/07/2002, 12h13

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