Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
関数はデフォルトでCでタグ付けされていることを知っています.Cで変数externを使用することも可能ですextern(他のファイルで初期化されている場合、またはextern int foo = 1;. しかしextern、C マクロは関数のように動作するので使用できますか?
extern
extern int foo = 1;
C99 で何かが根本的に変更されない限り、プリプロセッサ マクロにはストレージ クラスがありません。それらを同時に定義せずに宣言することはできません。それらは、他の識別子が扱われるのと同じ方法でコンパイラによって扱われることさえありません.それらは、コンパイラが何らかの種類の名前検索を試みる前であっても、(少なくとも概念的には)発生する純粋なテキスト変換です.