千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:深圳千锋IT培训  >  技术干货  >  linux动态加载so原理,linux添加动态库

linux动态加载so原理,linux添加动态库

来源:千锋教育
发布人:xqq
时间: 2023-11-27 16:41:01

什么是linux中的SO动态库

SO文件是Linux下共享库文件,它的文件格式被称为ELF文件格式。由于Android操作系统的底层基于Linux系统,所以SO文件可以运行在Android平台上。Android系统也同样开放了C/C++接口供开发者开发Native程序。

so的全称是shared object,即共享动态链接库,类似于windows下的dll文件。

so文件是Linux下的程序函数库,即编译好的可以供其他程序使用的代码和数据。so文件就跟.dll文件差不多。一般来说,so文件就是常说的动态链接库, 都是C或C++编译出来的。

在/lib目录下,就有许多以.so作后缀的文件,这就是LINUX系统应用的动态链接库,只不过与WINDOWS叫法不同,它叫so,即Shared Object,共享对象。

.so文件代表Linux的共享函数库文件,程序运行时可能会使用到里面的函数代码。当一个程序需要.so共享函数库文件时,系统自动会把它加载到内存中使用。相当于Windows系统里面的dll动态链接库文件。

动态库:这类库的名字一般是libxxx.M.N.so,同样的xxx为库的名字,M是库的主版本号,N是库的副版本号。当然也可以不要版本号,但名字必须有。

linux下面的so是什么东西?

1、so文件是Linux下的程序函数库,即编译好的可以供其他程序使用的代码和数据。so文件就跟.dll文件差不多。一般来说,so文件就是常说的动态链接库, 都是C或C++编译出来的。

2、so的全称是shared object,即共享动态链接库,类似于windows下的dll文件。

3、.so文件代表Linux的共享函数库文件,程序运行时可能会使用到里面的函数代码。当一个程序需要.so共享函数库文件时,系统自动会把它加载到内存中使用。相当于Windows系统里面的dll动态链接库文件。

4、so:文件表示动态链接库。a:代表的是静态函数库,当同时运行多个程序并且都使用到同一个函数库的函数时,内存中就会有同一函数的多份副本,会消耗大量宝贵的内存。

5、在/lib目录下,就有许多以.so作后缀的文件,这就是LINUX系统应用的动态链接库,只不过与WINDOWS叫法不同,它叫so,即Shared Object,共享对象。

linux动态库问题

1、linux 加载当前目录的动态库的方法是:设置合适的环境变量LD_LIBRARY_PATH。

2、lib是Linux 上的库的约定前缀,math 是共享库名字,so 是共享库的后缀名,1234的是共享库的版本号,其主版本号+小版本号+build号。

3、动态库函数在加载程序时,数据库将被加载。但是,动态加载程序链接器将符号解析推迟到函数调用时间。在对共享库的调用是通过过程链接表(PLT)中的一个条目间接完成的。最初,PLT中的所有条目都指向ld.so。

so文件用法?

1、SO文件是Linux下共享库文件,它的文件格式被称为ELF文件格式。由于Android操作系统的底层基于Linux系统,所以SO文件可以运行在Android平台上。Android系统也同样开放了C/C++接口供开发者开发Native程序。

2、xx是你的.so文件名 其实使用方法和你使用数学库函数是一样的,源代码中添加 include math.h,编译的时候,加上-lm参数。注:linux下的.so文件为共享库,相当于windows下的dll文件。

3、.so 文件安装一般是在/usr/lib或者/usr/local/lib下,安装后不需要绝对路径即可使用。当然你也可以安装到工程文件夹下面,不过很少有这么做的。

4、首先,在我们的Module的根目录中建立libs目录,将jpush集成SDK中的so文件分别拷入,截图如下:然后就是编写我们的build.gradle文件。

5、.so结尾的文件是动态链接库,动态链接库不能主动运行,只能被动调用。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

linux文件的组织,linux文件系统组成

2023-11-27

linux网络管理命令,linux网络系统管理

2023-11-26

单点服务linux,单点服务迁移与多点服务迁移

2023-11-26

最新文章NEW

linux将2列输出成一列,linux输出文件第n列

2023-11-27

linux虚拟机网关查看命令,虚拟机查看网络命令

2023-11-26

linux数据库安装目录下,数据库安装在linux

2023-11-26

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>