- gcc的命令选项都是,-x1 xxx1内容 -x2 xxx2内容这样,比如头文件路径添加选项
- gcc命令选项,顺序无关紧要
- --xx和-,是用区别的,前者是选项的全称,后面一个-的是选项的缩写
- -L xx目录,告诉编译器,添加库文件搜索目录,-L.表示在当前目录下搜索库文件,这个也得显示指定出来,因为gcc不会自动去搜索
- 关于库方面,-static选项,表明我要你优先静态库方式链接(现在就链接,而不是运行时才链接),比如:当前目录下有两个库文件,libx.so,libx.a,前者是动态库,后者是静态库,如果我们写成 -static -lx,那么,就是指定静态链接libx.a了。不加-static,gcc会优先采用动态链接方式,选择libx.so了
- 如果我们做嵌入式,比如stm32,动态加载,那么我们单独编译时,需要重定位的函数(板子里已经编译好的了,直接提取地址即可),不属于要链接库,不需要链接库。如果是我们这个分开编译的程序用到了数学库,第三方库等待,才需要我们链接呢。比如我用到了printfxx函数,这个函数属于库里面的,但是已经在板子里面编译进去了的,因此这里不需要链接库了,只需要重定位即可
参考链接: