网站建设资讯

NEWS

网站建设资讯

android调用c,Android调用c语言读取内存

请问 android中 是否可以 调用C++编写并封装的动态链接库文件(DLL)?该怎么实现?

dll 是 Windows 平台的动态库,而 so 是 Linux 平台的。即使你用别的编译器如 gcc 把 VC 开发的动态库能编译为 so 也能被 Android 调用,但归根结底这个 so 还是要调用 Windows API,这根本就是不可能生效。要 Android 能调用,那么就必须要用标准 C 以及 Android 提供的系统 API 函数在 Linux 上编译。在 Windows 平台,你可以试试安装 MinGW,使用其 gcc 编译器来编译 so 库。就是不知道是否可以设置 CPU 指令集,如果不能设置 ARM 那么编译了没法用。

创新互联企业建站,10年网站建设经验,专注于网站建设技术,精于网页设计,有多年建站和网站代运营经验,设计师为客户打造网络企业风格,提供周到的建站售前咨询和贴心的售后服务。对于网站设计制作、成都网站建设中不同领域进行深入了解和探索,创新互联在网站建设中充分了解客户行业的需求,以灵动的思维在网页中充分展现,通过对客户行业精准市场调研,为客户提供的解决方案。

Android程序可以调用C函数吗? 我需要使用C访问Android底层,然后希望Android程序调用C程序。

在一些Android应用的开发中,需要通过JNI和 Android NDK工具实现JAVA和C/C++之间的相互调用。

Java Native Interface (JNI)标准是java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI是本地编程接口,它使得在 Java 虚拟机 (VM)内部运行的 Java代码能够与用其它编程语言(如 C、C++和汇编语言)编写的应用程序和库进行交互操作。

NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。这些工具对开发者的帮助是巨大的。NDK集成了交叉编译器,并提供了相应的mk文件隔离CPU、平台、ABI等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so。NDK可以自动地将so和Java应用一起打包,极大地减轻了开发人员的打包工作。

在android上用C语言

安卓也可以用C语言编写,这种方式程序效率高,但需要一些底层知识。。。(即所谓NDK),Android在支持NDK后是可以实现用C和C++来编写的。因为用C++比较多,之前用cocos2d-x写过Demo游戏。就使用了NDK编译出.so文件然后放入Android工程用在Java层调用。Android SDK的Java层是可以通过JNI和C/C++进行数据交互的。

详见:

Android NDK | Android Developers

The NDK is a toolset that allows you to implement parts of your app using native-code languages such as C and C++. For certain types of apps, this can be helpful so you can reuse existing code libraries written in these languages, but most apps do not need the Android NDK.


当前标题:android调用c,Android调用c语言读取内存
地址分享:http://cdweb.net/article/dsdohdc.html