Tool之预定义的宏
- 2019 年 11 月 11 日
- 筆記
欢迎关注公众号 VxWorks567
如转发,请标明出处!
编译器都会预定义一些宏,这些宏是不可取消的,来看看VxWorks中可能用到的这几个
- __FILE__ 字符串常量,表示当前文件名,包含绝对路径
- __LINE__ 十进制整型数,表示当前代码行号的
- __FUNCTION__ 字符串常量,表示当前函数名,但它不是宏
这三个是在调试语句里经常用的,至少是公众号VxWorks567经常用

- __DATE__ 字符串常量,表示预处理时的日期,包含11个字符
- __TIME__ 字符串常量,表示预处理时的时间,包含8个字符

- __INCLUDE_LEVEL__ 十进制整数,表示当前位置被#include的深度,从0开始

- __SCHAR_MAX__ signed char的最大值
- __WCHAR_MAX__ wchar_t的最大值
- __SHRT_MAX__ signed short的最大值
- __INT_MAX__ signed int的最大值
- __LONG_MAX__ signed long的最大值
- __LONG_LONG_MAX__ signed long long的最大值
- __INTMAX_MAX__ intmax_t的最大值
不建议直接使用这几个宏,而是包含系统的头文件

- __SIZEOF_INT__
- __SIZEOF_LONG__
- __SIZEOF_LONG_LONG__
- __SIZEOF_SHORT__
- __SIZEOF_POINTER__
- __SIZEOF_FLOAT__
- __SIZEOF_DOUBLE__
- __SIZEOF_LONG_DOUBLE__
- __SIZEOF_SIZE_T__
- __SIZEOF_WCHAR_T__
- __SIZEOF_WINT_T__
- __SIZEOF_PTRDIFF_T__
C标准数据类型所占字节数

- __TIMESTAMP__ 字符串常量,表示当前文件的最后修改时间,包含星期、月、日、时、分、秒、年,共24个字符

有点意思吧
这正是:
系统几个宏,调试挺好用。
溶于代码中,功能妙无穷。
我是泰山,专注VX 15年!
欢迎关注VxWorks567,
一起学习,共同进步!