Linux .so库的使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux .so库的使用相关的知识,希望对你有一定的参考价值。
参考技术A 新建一个sort.c文件,写一个最简单的排序使用 gcc -o libsort.so -fPIC -shared sort.c 产生libsort.so库。
.so库有两种调用方法:
新建main.c文件:
使用命令 gcc -o main main.c -lsort -L. 编译。
新建main2.c文件:
使用命令 gcc -o main2 main2.c -ldl 编译。动态加载.so库的话需要-ldl。
运行./main2后输出递增序列,调用成功。
Android下查看SO库的依赖
参考技术A Android下查看SO库具体还依赖了哪些so库ndk中的readelf
在ndk的toolchains 中可以找到对应的可执行程序
路径例如:
D:\AndroidSDK\ndk\17.2.4988734\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64\bin 下 arm-linux-androideabi-readelf.exe
一般文件位置在system文件夹下,通过adb或者Android studio的Device File Explore 中可以查看到有lib跟lib64下大量的.so文件,如libmedia.so, libandroid.so, libc.so等
以上是关于Linux .so库的使用的主要内容,如果未能解决你的问题,请参考以下文章
linux下,有几个.so。如何将这几个动态库编译成一个动态库
Linux系统中“动态库”和“静态库”那点事儿 /etc/ld.so.conf 动态库的后缀为*.so 静态库的后缀为 libxxx.a ldconfig 目录名