本文作者:plkng

linux动态库教程学习 linux动态库的使用

plkng 6分钟前 2
linux动态库教程学习 linux动态库的使用摘要: 大家好,今天小编关注到一个比较有意思的话题,就是关于linux动态库教程学习的问题,于是小编就整理了2个相关介绍linux动态库教程学习的解答,让我们一起看看吧。linux动态库和...

大家好,今天小编关注到一个比较意思的话题,就是关于linux动态教程学习问题,于是小编就整理了2个相关介绍linux动态库教程学习的解答,让我们一起看看吧。

  1. linux动态库和静态库的区别?
  2. linuxc编程调用系统的动态库时,要使用dlopen等函数吗?

linux动态库和静态库的区别

动态链接库和静态链接库一般编译集成一系列的接口函数

程序源代码编译完成后通过编译器编译并通过链接器与这些库进行链接

动态链接库与静态链接库的区别在于链接器在进行链接时静态库会被直接编译进程序里

而动态链接库并不会,我们这里将这些链接库称作依赖(动态库和静态库)

程序的运行需要这些依赖,程序在静态链接后该程序本身便已包含该依赖

而动态链接后的程序本身本不包含该依赖,这些依赖需要执行者自行安装操作系统(动态库、运行时库)

程序运行时会动态地加载这些库

linux上动态库一般的后缀后为.so

静态库一般的后缀为.a

由于静态链接会直接将库编译进程序里所以静态编译后的程序相较于动态链接所要大

linuxc编程调用系统的动态库时,要使用dlopen等函数吗?

linux调用库的方式有三种:

1.静态链接库

2.动态链接库

3.动态加载库

其中1,2都是在编程时直接调用,在链接时加参数-l进行链接

第三种需要在编程时使用dlopen等函数来获取库里面函数的定义,然后进行调用.

不过对于没有提供头文件的动态库,只能dlopen等函数来调用

到此,以上就是小编对于linux动态库教程学习的问题就介绍到这了,希望介绍关于linux动态库教程学习的2点解答对大家有用。

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

阅读
分享