美文网首页
linux下静态库和动态库使用笔记

linux下静态库和动态库使用笔记

作者: 邦柳 | 来源:发表于2017-09-24 16:03 被阅读0次

    基础:

    静态库

    一般是libxxx.a这种形式,一般程序在编译的时候会被链接到目标代码中。这是使用静态库的好处,程序不需要再去依赖外部的库,因为一开始就已经被包含进去了。但这也是一把双刃剑,一般静态库比较大,这样也会导致程序比较大。一旦静态库被修改了,程序也需要重新编译。

    动态库

    动态库一般被命名为libxxx.so,顾名思义,动态库在编译的时候没有被编译进目标代码中,只有当运行到执行相关函数时才调用相关函数。这就意味着,修改动态库,程序不需要重新编译,而且程序也相对体积会小一点。因此,应该用哪种方式,还是见仁见智吧。

    个人笔记:

    1.链接库的时候,顺序是从右往左,记得把最基础的库放在命令的最右边。

    2.如果同时链接动态库和静态库,它们含有相同名称函数的话,会优先调用动态库的,如果偏要用静态库的函数的话,需要一点设置,编译时添加参数:-static 。这有点暴力,会导致这个参数后的所有的库都是用静态链接的方式,这里有可能会引发错误,如果后面还包含了动态库的话。

    相关文章

      网友评论

          本文标题:linux下静态库和动态库使用笔记

          本文链接:https://www.haomeiwen.com/subject/stwkextx.html