簡體   English   中英

我可以將extern用於宏嗎?

[英]Can I use extern for macros?

我知道默認情況下,函數在C中被標記為extern ,並且還可以在C中使用extern變量(如果在其他文件中對其進行了初始化,或者我編寫了extern int foo = 1; )。 但是我可以對C宏使用extern ,因為它們的行為類似於函數嗎?

除非C99中有根本改變,否則預處理器宏將沒有存儲類。 您不能在沒有同時定義它們的情況下聲明它們。 編譯器甚至沒有像對待其他標識符那樣對待它們-它們是純文本轉換,至少在概念上是發生在編譯器嘗試任何類型的名稱查找之前。

暫無
暫無

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

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