导航:首页 > 源码编译 > 编译产生的so不能调用

编译产生的so不能调用

发布时间:2022-01-30 23:34:22

1. C/C++源文件直接交叉编译生成.so文件供安卓应用程序调用,可以吗

Jni调用就行了,是要按规则写接口api,如果接口很多,也没法,那是你的业务问题,要重新设计业务逻辑。我们之前用的c++单独交叉编译一个进程,和安卓界面用tcp通信,如果接口多也以为着协议多,一样的。

2. 但是生成了libxxx.so文件,这个动态库不能被别人调用吗

可以被别人使用啊。你只需要在编译的时候,链接这个动态库就能被使用了。

3. 编译出来的so库文件怎么在JAVA中调用

用 sudo find / -name jni.h -print
命令,就会打出路径

4. linux下如何用c++编译so文件,c语言又怎样调用这个so文件

根据相应的头文件、和链接使用的库文件,编译链接后,即是可以使用该.so文件了

~~~~~~~

5. ndk编译so库能调用linux下编译出的arm静态库吗

先区分清楚host和target的区别。 Linux和Windows是你的host platform。 Android是target platform。 编译Android library使用cross-compilation (交叉编译),即在某个host平台下编译针对某个特定的target平台的体系结构的代码。

6. linux下c语言编译so问题

不需要在自己的.so中调用别人的.so,只需要编译自己的,编译.so时,系统不会检查未定义的函数。
直接在编译自己的应用程序时链接这两个.so就可以了!
gcc
-o
exec_file
mysrc.c
-L./
-lXXX
-L/usr/lib
-lmysqlclient

7. 添加.so文件后,还是不能使用怎么办

个目录。安全的做法是编译库C代码时,Application.mk中打开,
APP_ABI := armeabi armeabi-v7a

编译生成的两份so文件各自放到项目工程的armeabi/armeabi-v7a目录中。有时还需要针对v7a平台编译支持NEON和不支持NEON的库。譬如这个例子,
in armeabi/: libp.so, libd.so, libvh.so, libvn.so
in armeabi-v7a/: libp.so, libd.so, libd_neon.so, libvh.so, libvn.so

需要注意这一点:The 'armeabi-v7a' machine code will not run on ARMv5 or ARMv6 based devices. 如果损失一些应用的性能是可以接受的,不希望保留库的两份拷贝,可以移除armeabi-v7a目录和其下的库文件,只保留armeabi目录。在安装应用时,行为是这样的,
When installing an application, the package manager service will scan

8. linux驱动能不能编译成so,供应用程序使用

不能。
最终应用程序使用的是一个设备文件,而要产生这个设备文件,那么是编译进内核里,要么是编成模块的ko文件,生成了设备文件,在dev目录下能看到这个设备文件才可供应用程序调用。
希望我的回答能帮助到你。

阅读全文

与编译产生的so不能调用相关的资料

热点内容
比泽尔压缩机代理商 浏览:629
什么app能下载多邻国 浏览:234
服务器蓝色什么意思 浏览:226
vb组态软件源码 浏览:698
加密蚊帐防蚊门帘 浏览:828
vs2010多线程编程 浏览:214
新股上市指标源码 浏览:699
c语言51单片机教程 浏览:554
app中的hd是什么意思 浏览:279
手机什么解压器最好 浏览:49
什么是适合自己的app 浏览:451
云服务器怎么补漏洞 浏览:176
如何看自己的安卓是什么等级 浏览:633
被丁磊挖走的程序员 浏览:19
gsk980ta编程 浏览:507
单片机离线 浏览:84
解压助眠敲击外国长指甲 浏览:421
3次元编程 浏览:803
夫妻传送英文命令 浏览:316
程序员题代做 浏览:950