首页 > 代码库 > 编译链接总结
编译链接总结
1. -L增加一个搜索路径,不一定要跟-l放在一起;不区别静态链接和动态链接。
2. 用-lxx与 libxx.a的区别是:前者会搜索多个路径。
3. 使用-lxx链接动态库时,动态库所在的目录不一定在搜索路径,可以加到/etc/ld.so.conf中,或者/etc/ld.so.conf.d/libxx.conf,并重启ldconfig。(ldd)
4. 动态链接库可以访问可执行程序内定义的函数,动态链接库可以相互访问函数,使用dlopen指定RTLD_GLOBAL。
5. 使用libxx.a与把xx.a中的所有.o列出来的区别是:前者以.o为单位找符号,如果整个.o中没有这个符号,则不链接进去,后者会将所有的。o都链接到可执行文件。
6. 编译动态库时gcc -c -fPIC xx.c, gcc -shared -o xx.so xx.o, export LD_LIBRARY_PATH=`pwd`
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。