2

次のようなプリプロセッサの値を変更する方法はありますか?

#define XValue 50 

Objective-Cで?

4

3 に答える 3

5

実行時に変更する場合は、いいえ、コンパイル前にXValue置き換えられます。50

コンパイルで変更する場合は、はい、およびを使用#undef#defineます。

例:

XValue = 30; // NOT ALLOWED

#undef XValue // ALLOWED
#define XValue 30
于 2012-08-14T09:06:56.963 に答える
2
#undef XValue
#define XValue 100
于 2012-08-14T09:08:08.437 に答える
1

どうですか:

int global_mutable_value = 50; 
#define XValue global_mutable_value

あるいは単に

int XValue = 50;

なぜマクロになりたいXValueのかわからないので、実行時に変更される可能性のあるものによってマクロに対する意図が満たされるかどうかはわかりません。もしそうなら、マクロの代わりに実行時に変更できるものを使用してください(私はextern変数を使用しました)。そうでなければ、もちろんあなたは運が悪いです。

于 2012-08-14T09:21:22.103 に答える