は、変数#define変数を別のファイルにexternできますか?</strong> abc.c例<strong>については
#define NAME "supreeth"
が含まれていdef.cで変数NAME
をexternにすることはできますか?
は、変数#define変数を別のファイルにexternできますか?</strong> abc.c例<strong>については
#define NAME "supreeth"
が含まれていdef.cで変数NAME
をexternにすることはできますか?
abc.cに#define NAME "supreeth"
がある場合は、別のファイルdef.c
で同じ名前のextern変数を使用することができますが、これはコンパイラに関する限りです。これらの2つの間にある種の依存関係があることを暗示している場合は、その依存関係は発生しません。 明らかに、このようなことをするのは混乱し、悪い考えです。
マクロにextern
を使用することはできません。しかし、あなたはあなたのマクロは、多くのCファイル
で見たい場合は、あなたの中にあなたのdef.hが含まdef.h
のようなヘッダファイル内
#define NAME "supreeth"
あなたのマクロ定義を置きますCコードを使用し、他のすべてのCファイルでマクロを使用できます。def.h
可能なのは?変数はなく、 'extern'の概念は適用されません。 –
私はexternを使用していたわけではありません。ヘッダファイルにマクロを定義してから、Cファイルからそのマクロを見ることができます。私はより具体的にする必要があります私は私の答えを更新する – MOHAMED
コードNAME
は変数ではありません。これはプリプロセッサシンボルです。つまり、NAME
のテキストは、入力のどこでも文字列"supreeth"
に置き換えられます。これはファイルごとに起こるので、それが「外部」であると話すのは理にかなっていません。
#define
を指定せずに特定のCファイルをコンパイルすると、NAME
の使用はそのままの状態になります。
defineはプリプロセッサディレクティブです。コードのコンパイル時にインラインで置き換えられます。ヘッダー(インクルード)ファイルで定義する必要があります。 –