在linux *** 作系统上封装的.so库能在安卓上直接使用库里的函数么

在linux *** 作系统上封装的.so库能在安卓上直接使用库里的函数么,第1张

linux下的.so文件为共享库,相当于windows下的dll文件,使用方法如下:

在你的工程源代码里包含.h头文件,然后可以调用动态库里的函数,在链接的时候加上如下编译器参数:

-l xx.so

如果你的so文件是以lib开头的,还可以直接这样使用:

-lxx

xx是你的.so文件名

其实使用方法和你使用数学库函数是一样的,源代码中添加

#include ,编译的时候,加上-lm参数。

so文件就是通常说的动态链接库,就跟windows下的dll文件差不多。

ko是内核模块文件,驱动之类的啥的。

不过在linux系统下文件的后缀多数情况下只是个标识,有可能代表不了文件的真实属性的。

至于怎么编写,就跟用VS编译dll或者lib文件差不多,把你的代码编译完成以后命名为相应的后缀就好了。

我了解的一般都是C程序,java属于脚本语言,程序多数情况下是被解释执行的,所以一般不需要编译成库。至于如何编译成库文件,如果你在windows下做过开发的话应该不用我解释太多。实在不知道的话可以再问我哈~~

希望以上回答能对你有所帮助。

新建一个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后输出递增序列,调用成功。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7395371.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存