簡體   English   中英

#ifdef,#ifndef和#undef是否可以與類似函數的宏一起使用?

[英]Do #ifdef, #ifndef and #undef work with function-like macros?

宏有兩種類型:類函數宏和類對象宏 我可以對類似對象的宏執行各種檢查/操作:

#ifdef _SOME_OBJECT_LIKE_MACRO    // check if some object-like macro is defined
#undef _SOME_OBJECT_LIKE_MACRO    // undefine some object-like macro
#endif

#define _SOME_OBJECT_LIKE_MACRO 0xff

#ifdef#ifndef#undef可以使用類似於函數的宏? 例如:

#ifdef _SOME_FUNCTION_LIKE_MACRO()  // check if some function-like macro is defined
#undef _SOME_FUNCTION_LIKE_MACRO()  // undefine some function-like macro
#endif

#define _SOME_FUNCTION_LIKE_MACRO() printf("This is such a useful macro!!!\n");

那樣有用嗎? 如果沒有,我怎么...

  • 檢查是否存在
  • 檢查存在
  • 未定義

...類似函數的宏?

#ifdef#ifndef#undef與類似函數的宏一起使用,但是您只需要使用裸宏名。 不需要括號:

#ifdef _SOME_FUNCTION_LIKE_MACRO
#undef _SOME_FUNCTION_LIKE_MACRO
#endif

另請參見http://tigcc.ticalc.org/doc/cpp.html#SEC19

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM