2

有什么方法可以更改预处理器值,例如:

#define XValue 50 

在Objective-C中?

4

3 回答 3

5

如果您的意思是在运行时更改它,那么不,因为XValue它被替换为50编译前。

如果您的意思是在编译中更改它,那么是的,使用#undefand #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成为一个宏,所以我们无法判断你的意图是否会被运行时可能改变的东西所满足。如果他们愿意,请使用可以在运行时更改的东西而不是宏(我使用了外部变量)。如果他们不这样做,那么你当然不走运。

于 2012-08-14T09:21:22.103 回答