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,
一起學習,共同進步!