たとえばabc.cには変数が含まれています
#define NAME "supreeth"
def.cの変数NAME
を外部化できますか?
あなたが持っている場合 #define NAME "supreeth"
abc.cでは、別のファイルに同じ名前のextern変数を確実に含めることができますdef.c
、これはコンパイラに関する限りです。これら2つの間に何らかの依存関係があることを示唆している場合、その依存関係/リンクは発生しません。明らかに、このようなことをするのは混乱し、悪い考えです。
コードでは、NAME
は変数ではありません。これはプリプロセッサシンボルです。つまり、テキストNAME
は、入力内のすべての場所で文字列"supreeth"
に置き換えられます。これはファイルごとに発生するため、「外部」であると話すのは意味がありません。
特定のCファイルがその#define
なしでコンパイルされた場合、NAME
の使用はそのままになります。
マクロでextern
を使用することはできません。ただし、マクロを多くのCファイルで表示したい場合
マクロ定義を入力してください
#define NAME "supreeth"
def.hのようなヘッダーファイル内
次に、Cコードにdef.hを含めます。次に、def.hを含めると、他のすべてのCファイルのCファイルでマクロを使用できます。