iOS 预处理->编译->链接
2018-03-13 本文已影响73人
iOS坚持者
预处理->编译->链接
预处理:分析程序前先处理的语句,它可以识别散布在程序中的特定语句。所有的预处理语句都适用“#”开头,这个符号必须是一行中的第一个非空字符。大概分为三类:
文件包含:#include、#import,import 在导入文件的时候已经进行了去重检查保该文件只被引入一次,避免重复引用。
宏定义:#define,在写宏定义的时候,带参数需要设置小括号,确保正确性。
条件编译:#if、#elif、#else、#endif,条件编译中的条件不能使用普通变量,一般会选择使用宏定义。
编译是通过编译器将每个文件的代码都转为二进制代码,在这个过程中,如果有语法错误,会有编译失败的提示,如果成功,那么会生成对应多个目标文件。
链接:在一个文件中可能会到其他文件,因此,还需要将编译生成的目标文件和系统提供的文件组合到一起,这个过程就是链接。经过链接,最后生成可执行文件。
经过编译和链接,才会把写的代码转换成计算机能识别的二进制指令。