Chinaunix首页 | 论坛 | 博客
  • 博客访问: 234193
  • 博文数量: 95
  • 博客积分: 400
  • 博客等级: 一等列兵
  • 技术积分: 906
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-04 16:04
个人简介

人生意义在于积累,而不是日复一日的重复

文章分类

全部博文(95)

文章存档

2016年(2)

2015年(44)

2014年(35)

2011年(5)

2010年(9)

我的朋友

分类: C/C++

2015-10-23 15:10:49

标准预定义宏基本适用于所有的编译器(过于旧的编译器除外),名字都以双下划线开头。

1.    __FILE__
    当前源代码文件名的字符串名称,其中路为预处理器所指定的路径,与执行路径无关。

2.    __LINE__
    录前源代码的行号,包括空行。

__FILE__和__LINE__主要用于bug调试,排查错误。

3.    __DATE__
    编译器编译的日期,执行时显示的也是这个时期。

4.    __TIME__
     编译器编译的时间,而不是执行时间,每次编译的时间。

5.    __STDC__
    为区别ISO 标准C,在正常执行时,该宏被定义为1,C++中并不一定如此。然而预处理器会执行该标准,除非加上-traditional-cpp选项。

6.    __STDC_VERSION__
     C编译器版本,不支持C++和Object-C。

7.    __STDC_HOSTED__
    如果当前系统是"本地系统",则为1。

8.    #line
    用来修改__LINE__和__FILE__,例如:
    #line 100 "ok"
    __LINE__被修改为100,__FILE__被修改为"ok"

9.    __cplusplus
    用于识别是C++还是C代码,C++中对__cplusplus进行了定义。

10.  __OBJC__
    用于辨别是否为Object-C。

11.  __ASSEMBLER__
    如果是汇编语言,则值为1。
阅读(743) | 评论(0) | 转发(0) |
0

上一篇:C/C++宏:函数名

下一篇:记笔记

给主人留下些什么吧!~~