Android Java 如何调用自己的 C++ 的类库
下面以 Java 调用 C++ 的加法运算函数为例,做简单说明。
(使用 Android Studio 3 编译)
首先编译 c++ 类库
创建独立目录存放 c++ 文件,例如 "app/src/main/cpp/add.cpp",内容如下
#include <jni.h> extern "C" JNIEXPORT jint JNICALL Java_com_example_liyi_demo_Util_add( JNIEnv *env, jobject, jint a, jint b ) { return a + b; }
被调用的函数命名必须是 "Java_<namespace>_<class>_<method>" ,此例表示Java 包 com.example.liyi.demo 下,Util 类的 add 方法将关联此 c++ 函数。
将上一步的 c++ 目录加入编译项。已 cmake 为例,将下面内容加入 CMakeLists.txt
add_library( native-util SHARED src/main/cpp/add.cpp )
这样可编译成 native-util.so 库。
在 Java 中调用
实现 Util 类。将如下内容存成 src/main/java/Util.java 文件
package com.example.liyi.demo; public class Util { static { System.loadLibrary(libname: "native-util"); } private native int add(int a, int b); public int java_add(int a, int b) { return add(a, b); } }
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对小牛知识库的支持。如果你想了解更多相关内容请查看下面相关链接
本文向大家介绍在knockoutjs 上自己实现的flux(实例讲解),包括了在knockoutjs 上自己实现的flux(实例讲解)的使用技巧和注意事项,需要的朋友参考一下 在knockoutjs 上实现 Flux 单向数据流 状态机,主要解决多个组件之间对数据的耦合问题。 一、其实简单 flux的设计理念和实现方案,很大程度上人借鉴和参考了Vuex的实现,只是简化了某些过程,数据流向图如下:
本文向大家介绍对python制作自己的数据集实例讲解,包括了对python制作自己的数据集实例讲解的使用技巧和注意事项,需要的朋友参考一下 一、数据集介绍 点击打开链接17_Category_Flower 是一个不同种类鲜花的图像数据,包含 17 不同种类的鲜花,每类 80 张该类鲜花的图片,鲜花种类是英国地区常见鲜花。下载数据后解压文件,然后将不同的花剪切到对应的文件夹,如下图所示: 每个文件夹
本文向大家介绍jQuery 调用WebService 实例讲解,包括了jQuery 调用WebService 实例讲解的使用技巧和注意事项,需要的朋友参考一下 1.首先建一个WebService程序 [System.Web.Script.Services.ScriptService] 这里得注意,默认情况下这个特性是注释起来的,如果想用Javascript来调用WebService 就要取消这
本文向大家介绍C#连接SQL Server数据库的实例讲解,包括了C#连接SQL Server数据库的实例讲解的使用技巧和注意事项,需要的朋友参考一下 C#连接数据库:Connection对象 1.Connection对象概述 Connection对象是一个连接对象,主要功能是建立与物理数据库的连接。其主要包括4种访问数据库的对象类,也可称为数据提供程序,分别介绍如下。 SQL Server数据提
当我们使用术语"类库"时,我们一般指的是位于libraries 文件夹中的类,它们在wiki的"类库参考"这个板块被讨论.在当前这个话题中,我们将讨论如何在 application/libraries 文件夹中建立你自己的类库,并使它们与全框架的资源维持分离. 作为一个额外的功能,当你需要在原始类中简单地添加一些功能时,CodeIgniter能使你的类库extend 自原始类.你甚至可以通过在ap
本文向大家介绍原生ajax调用数据实例讲解,包括了原生ajax调用数据实例讲解的使用技巧和注意事项,需要的朋友参考一下 由于jQuery的盛行,现在使用较多的是jQuery封装好了的ajax,因为解决了浏览器兼容性问题,这对程序员来说就等于去掉了一个心头大患,但并非原生ajax就销声匿迹,并且本人感觉还是对原生的ajax有所了解的好,下面就是一段ajax数据调用的实例代码,非常的简单,初学者可以参