C编译连接流程
GCC中一些偏僻的扩展名
扩展名 | 含义 |
---|---|
.C | C++源代码文件 |
.i | 预处理过的C源代码文件 |
.ii | 预处理过的C++源代码文件 |
.m | Objective-C源代码文件 |
.out | 链接器生成的可执行文件 |
.s | 汇编语言源代码文件,后期不再进行预处理操作 |
.S | 汇编语言源代码文件,后期还会进行预处理操作,可以办好预处理指令 |
预处理的内容和意义
意义:使编译器实现功能变得更为专一。
内容:文件包含、宏定义、条件编译、一些特殊的预处理关键字、去掉程序中的注释
#ifdef和#if defined的区别
#if defined可以组成复杂的预编译条件,例:
#if defined(A) && defined (B)
<code>
#endif
静态库和动态库比较
使用静态库ÿ