gcc中用于预编译的宏(如__cplusplus , __func__ , __FILE__ , __LINE__ 等)

 

官方查看地址:http://gcc.gnu.org/onlinedocs/cpp/Predefined-Macros.html

3.7 Predefined Macros

Several object-like macros are predefined; you use them without supplying their definitions. They fall into three classes: standard, common, and system-specific.

In C++, there is a fourth category, the named operators. They act like predefined macros, but you cannot undefine them.

 

编译器预定义的宏分为以下四种:

 

 

gcc中的预编译宏

    * 预定义的宏
    * __NASE_FILE__ 源文件的完整路径名,和 __FILE__ 不同,被引用的文件仍然是原来文件名
    * __CHAR_UNSIGNED__ 用于指定该机器上 char 是无符号类型
    * __cplusplus 使用 C++ 编译器编译
    * __DATE__ 编译时的日期
    * __FILE__ 编译文件名
    * __func__ 同 __FUNCTION__
    * __GNUC__ GCC 的主版本号
    * __GNUC_MINOR__ GCC 的次版本号
    * __GNUC_PATCHLEVEL__ GCC 的修订号
    * __GNUG__ 由 C++ 编译程序定义
    * __INCLUDE_LEVEL__ 指 #include 的层次
    * __LINE__ 当前行号
    * __NO_INLINE__ 不允许 inline
    * __OPTIMIZE__ 打开了优化选项
    * __OPTIMIZE_SIZE__ 打开了对编译出文件尺寸的优化
    * __STDC__ 表示该程序符合 ansi C 标准
    * __STDC_HOSTED__ 表示宿主具有标准 C 的环境
    * __STDC_VERSION__ 标准 C 制定时间
    * __TIME__ 编译时系统时间

__VERSION__ GCC 版本号
    * 预定义的宏
    * __NASE_FILE__ 源文件的完整路径名,和 __FILE__ 不同,被引用的文件仍然是原来文件名
    * __CHAR_UNSIGNED__ 用于指定该机器上 char 是无符号类型
    * __cplusplus 使用 C++ 编译器编译
    * __DATE__ 编译时的日期
    * __FILE__ 编译文件名
    * __func__ 同 __FUNCTION__
    * __GNUC__ GCC 的主版本号
    * __GNUC_MINOR__ GCC 的次版本号
    * __GNUC_PATCHLEVEL__ GCC 的修订号
    * __GNUG__ 由 C++ 编译程序定义
    * __INCLUDE_LEVEL__ 指 #include 的层次
    * __LINE__ 当前行号
    * __NO_INLINE__ 不允许 inline
    * __OPTIMIZE__ 打开了优化选项
    * __OPTIMIZE_SIZE__ 打开了对编译出文件尺寸的优化
    * __STDC__ 表示该程序符合 ansi C 标准
    * __STDC_HOSTED__ 表示宿主具有标准 C 的环境
    * __STDC_VERSION__ 标准 C 制定时间
    * __TIME__ 编译时系统时间

__VERSION__ GCC 版本号
   * 预定义的宏
    * __NASE_FILE__ 源文件的完整路径名,和 __FILE__ 不同,被引用的文件仍然是原来文件名
    * __CHAR_UNSIGNED__ 用于指定该机器上 char 是无符号类型
    * __cplusplus 使用 C++ 编译器编译
    * __DATE__ 编译时的日期
    * __FILE__ 编译文件名
    * __func__ 同 __FUNCTION__
    * __GNUC__ GCC 的主版本号
    * __GNUC_MINOR__ GCC 的次版本号
    * __GNUC_PATCHLEVEL__ GCC 的修订号
    * __GNUG__ 由 C++ 编译程序定义
    * __INCLUDE_LEVEL__ 指 #include 的层次
    * __LINE__ 当前行号
    * __NO_INLINE__ 不允许 inline
    * __OPTIMIZE__ 打开了优化选项
    * __OPTIMIZE_SIZE__ 打开了对编译出文件尺寸的优化
    * __STDC__ 表示该程序符合 ansi C 标准
    * __STDC_HOSTED__ 表示宿主具有标准 C 的环境
    * __STDC_VERSION__ 标准 C 制定时间
    * __TIME__ 编译时系统时间

__VERSION__ GCC 版本号

你可能感兴趣的:(优化,gcc,File,include,编译器,macros)