我想知道宏如何在Objective-C中工作,编译器如何解释它们,是什么使它们与常规函数不同.此外,他们如何能够访问__LINE__,__FILE__,_cmd和最好奇self(不将它传递给他们)在目前情况下?
它们的工作方式与纯C相同.
宏由编译器的预处理器处理,因为编译器仍然具有可用的完整源代码(以及封闭__FUNCTION__或当前的名称__LINE__).您可以将宏视为某种先进的"文本替换"魔法.
使用宏,你基本上告诉编译器:" 在我做任何实际编译之前,请用我定义的源代码块替换我的宏."
有关宏和C预处理器的更多信息,请访问:http://en.wikipedia.org/wiki/C_preprocessor
| 归档时间: |
|
| 查看次数: |
638 次 |
| 最近记录: |