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 版本号

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值