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,

一起學習,共同進步!