0

コードは次のとおりです。

funcA() {
   #define strdup(a) NULL
   funcB();
}

while funcB() in another file . マルコstrdup(a)が機能しないことがわかりました。どうすれば機能させることができますか?

4

2 に答える 2

4

そうでなければ、あなたの質問funcBstrdup意味がありません。

マクロはプリプロセッサでのみ関連し、別のコンパイル ユニットには反映されません。が別のコンパイル単位にある場合funcB、マクロもそこで定義する必要があります。これは通常、マクロを必要とするすべてのコンパイル単位にヘッダーを含めることで実現されます。

于 2013-08-30T09:14:07.083 に答える