Linux下编译和调试
1 | #预处理 c++一般用.ii后缀 |

gcc库选项 | 含义 |
---|---|
-static | 进行静态编译,即链接静态库,禁止使用动态库 |
-shared | 1、可以生成动态库文件 2、进行动态编译,尽可能地链接动态库,只有没有动态库时才会链接同名的静态库(默认选项,可以省略) |
-L dir | 在库文件的搜索路径列表中增加dir目录 |
-lname | 链接称为libname.a(静态库)或者libname.so(动态库)的库文件。若两个库都存在,则根据编译方式(-static或者-shared)而进行链接 |
-fPIC(-fpic) | 生成使用相对地址的位置无关的目标代码。然后通常使用gcc的-static选项从PIC目标文件生成动态库文件 |
-静态库 链接器会将搜索静态库并直接拷贝到该程序的可执行二进制文件到当前文件
-动态库 在程序编译时并不会被链接到目标代码中,而是在程序运行时才被载入