gcc参数学习

来源:百度文库 编辑:神马文学网 时间:2024/09/30 00:35:21
ELF文件头中哪有包含指向.dynamic section的指针啊???
动态连接器是通过.DYNAMIC符号来找到这个section的,不是通过上面什么指针来找的
Gcc参数学习:
-l –L 参数,-l用力指定程序要链接的库,-l紧跟着库名,注意库名和真正的库文件名不同,拿数学库来说,库名是m,但库文件名是libm.so
放在/lib,/usr/lib下的库直接用-l就可以了,但方在其他路径下的,就得指明路径了,就用-L 参数了,比如我们把libtest.so放在/aaa/bbb/ccc下面,就用-L/aaa/bbb/ccc –ltest了
注意libxxx.so只是一个链接
-I 指定头文件目录,如-I/myinclude
-shared 编译动态库
几个环境变量:
PKG_CONFIG_PATH:用来指定pkg-config用到的pc文件的路径,默认是/usr/lib/pkgconfig,pc文件是文本文件,扩展名是.pc,里面定义开发包的安装路径,Libs参数和Cflags参数等等。
CC:用来指定c编译器
CXX:用来指定cxx编译器
LIBS:跟上面的--libs作用差不多
CFLAGS:跟上面的--cflags作用差不多
CC,CXX,LIBS,CFLAGS手动编译时一般用不上,在做configure时有时用到,一般情况
下不用管
环境变量设定方法:export ENV_NAME=xxxxxxxxxxxxxxxxx
ldd 列出程序或命令所需要的共享库
ldconfig 动态链接库的实时绑定
strings  打印某个文件中的可打印字符串