什么是宏?

时间:2011-06-03 13:48:29

标签: objective-c macros

我不确定是什么宏。例如,在objective-c中编写的cocos2d框架中可以找到以下宏。究竟什么是宏,为什么它们有用,我该如何定义它们?感谢。

#define CCRANDOM_0_1() ((random() / (float)0x7fffffff ))

3 个答案:

答案 0 :(得分:2)

在这里,您可以找到所需的一切: http://gcc.gnu.org/onlinedocs/cpp/Macros.html

但是为了得到一个基本的想法,它们是代码片段,当你在代码中编写宏代码时它们将取代它。

在你的例子中,如果你写了:

int i = CCRANDOM_0_1();

它将与:

相同
int i =  ((random() / (float)0x7fffffff ));

答案 1 :(得分:2)

它只是将CCRANDOM_0_1()替换为代码中的((random() / (float)0x7fffffff ))

答案 2 :(得分:1)

每当在程序中看到CCRANDOM+0_1()(由编译器)时,它将被((random() / (float)0x7fffffff ))

替换