gcc/g++ 链接库的编译与链接

https://blog.csdn.net/surgewong/article/details/39236707

看这一篇博文足够了!!!

 

注意:

1、链接过程中可能出现多种链接方式,需要使用一些参数来指定(参数都是-XXX形式的);

2、链接过程中同一个库(名称相同)的静态和动态两种链接库,在链接过程中,系统优先选择动态链接库;

3、动态链接库路径,系统默认在/usr/lib和/usr/local/lib两个库目录搜索,自己定义的库需要格外指定路径(设定变量LD_LIBRARY_PATH)或者将其拷贝到这两个目录下。当然可以将当前路径添加到/etc/ld.so.conf文件中或者/etc/ld/so.conf.d目录下的一个文件中。

4、查看动态链接库。有时候可能需要查看一个库中到底有哪些函数,nm命令可以打印出库中的涉及到的所有符号。库既可以是静态的也可以是动态的。nm列出的符号有很多,常见的有三种:

  一种是在库中被调用,但并没有在库中定义(表明需要其他库支持),用U表示;

  一种在库中定义的函数,用T表示,这是最常见的;

  另一种所谓的“弱态”符号,它们虽然在库中定义,但可能被其他库中的同名符号覆盖,用W表示。

5、使用ldd命令可以查看程序的库依赖

  

转载于:https://www.cnblogs.com/jianfeifeng/p/11199568.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值