私は、Cマクロの値をgcpの-Dmacro = valueオプション付きプリプロセッサに渡そうとしています。しかし、それは私が期待していることをしません。これは私のコードの基礎である:gccがコマンドラインからマクロ値を渡すのはなぜですか?
#define T0 0
#define T1 0
#define T2 0
#define T3 0
int main(){
int f[9];
start(f[T0], f[T1], f[T2], f[T3]);
return 0;
}
gcc -DT3=1 -E
を実行すると、プリプロセッサは、T3の元の値に代わるものではありません示しています。私は何が欠けていますか、どのようにして価値が正しく伝わるのでしょうか?
私はちょうどこの問題に直面していましたが、私はいつもコマンドライン定義がインライン定義を上書きすると思っていました。私は漠然とMicrosoftコンパイラがそれをしていることを覚えていますが、残念ながら、私はしばらくアクセスできない。私は誰でもMSVCをテストして情報を投稿することができます。 – ysap