/*Xcode编译原理:    1,编写程序;    2,预处理;        宏定义 : 本质 : 替代            格式 : 不带参数的宏定义 :                                 #define 宏名 宏值    //预处理时,会将代码中所有的宏名替代为宏值;使用于保存一些代码中频繁使用的常量;                   带参数的宏定义 :                                 #define 宏名(参数) 代码    //预处理时,会接受传递给宏的参数,替代宏定义中的代码后,再次替代代码中所有的宏名;仅适用于完成一些简单的运算;        文件包含 : 本质 : 文件合并或粘贴,会将指定文件内所有内容复制替代文件包含所在行代码                    #include <文件名>    //先到编译器的环境下,查找指定文件,找不到时,再到系统的指定环境下查找指定文件;                    #include "文件名"    //先到同一文件目录下查找指定文件,找不到时,再到编译器的环境下,查找指定文件,再找不到时,再到系统的指定环境下查找指定文件;        条件编译 : 本质if条件语句,条件满足时,编译指定代码块                    //形式一:                    #if condition                    代码块;                    #elif condition                    代码块;                    #else                    代码块;                    #endif                    //形式二:                    #ifdef 宏名                    代码块;                    #else                    代码块;                    #endif                    //形式三;    //常用于避免文件的重复包含;                    #ifndef 宏名                    代码块;                    #else                    代码块;                    #endif    3,编译成目标文件;    4,链接 : 将目标文件与C语言函数库进行链接;    5,生成可执行文件;    6,运行;*/