Inside the preprocessor 预处理器内部

Objective-C 的程序在编译的时候,要经过很多个阶段。其中第一个阶段就是预处理器(preprocessor)。从某种意义上说,预处理器有一点像搜索替换:类似「当搜索到 X 的时候,用 Y 来代替它」。然而预处理器的功能比上面所说的搜索替换要多得多。在这一章里面,我将给你讲一讲关于预处理器的内容。

小提示:在 Swift 里是没有预处理器这个概念的,这是开发团队有意而为之的。因为大规模使用宏命令会让你的代码很难 debug,比如上面的这个例子,用 Y 代替 X,当 Y 有十行代码的时候,一旦出现错误,你很难知道到底是哪一行代码出了问题。

宏命令(macro)经常被写在头文件里,这样就可以在所有文件里面都引入使用了。注意了,你会发现宏命令的影响范围远比你想象的要广,因为头文件在互相引入的时候,可能会相互嵌套,宏命令也会被一直引用。

你可以在想要的任意位置声明宏命令,甚至包括方法的内部。后面的例子里,我会把宏命令放在马上就要用到它的地方,这样可以让代码变得简单一些。实际工作的时候,我会把它放在头文件的顶部,或者在实现文件的顶部。

results matching ""

    No results matching ""