【发布时间】:2011-07-02 07:48:06
【问题描述】:
对于 C/C++,我认为预处理器会在编译器编译程序之前进行宏处理,这就是为什么宏名称必须是字面量或绝对值,不允许声明宏名称的变量。
对于 PHP,我们可以这样声明:DEFINE($name, $value); 这意味着解释器首先解释变量然后定义宏,即类似于运行时宏处理。
这实际上让人怀疑,这真的是宏处理吗? 如果不是,那么引入像'define'这样的关键字的目的是什么?有不能改变的值?
或者如果有宏处理,那么任何人都可以解释一下,它是如何工作的?
【问题讨论】:
标签: php macros c-preprocessor