JNI教程(三)
来源:互联网 发布:linux oracle关闭监听 编辑:程序博客网 时间:2024/06/05 04:19
一个简单JNI实现add的demo
一、编写CalcAddJava.java文件
public class CalcAddJava{ //所有native关键词修饰的都是对本地的声明 public native int add(int num1 , int num2); static { System.loadLibrary("add");//载入本地库 } public static void main(String[] args) { CalcAddJava obj = new CalcAddJava(); int result = obj.add(1,2); System.out.println("result is :" + result); }}
二、执行javac命令
javac CalcAddJava.java
三、执行javah命令创建JNI头文件
(1) javah CalcAddJava
(2) 修改一下文件名称
mv CalcAddJava.h CalcAddJni.h
四、创建JNI实现文件
vi CalcAddJni.cpp
#include "CalcAddJni.h"#include "iostream"/* class: CalcAddJava * Method: add * Signature: (II)I */JNIEXPORT jint JNICALL Java_CalcAddJava_add (JNIEnv *env, jobject static_or_instance, jint num1, jint num2) { std::cout << "hello Java_CalcAddJava_add implements JNI in c++" << std::endl; return num1 + num2;}
五、编译动态链接库
(1) g++ -fPIC -I/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/include/ -I/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/include/Linux -c CalcAddJni.cpp
(2) g++ -shared -o libadd.so CalcAddJni.o
六、执行java类
java -Djava.library.path=. CalcAddJava
0 0
- JNI教程(三)
- JNI教程(一)
- JNI教程(二)
- JNI教程(四)
- JNI教程(五)
- jni教程(AndroidStudio)
- JNI (三)
- 初学JNI知识(三)
- Java JNI学习(三)
- Android JNI调用(三)
- Android JNI调用(三)
- JNI教程
- Android NDK 开发教程三:Hello JNI 示例
- jni(三)
- JNI (三)
- NDK-JNI实战教程(二) JNI官方中文资料
- NDK-JNI实战教程(二) JNI官方中文资料
- NDK-JNI实战教程(二) JNI官方中文资料
- Unity脚本生命周期, Unity脚本函数执行流程与顺序
- TS流分析-packet header
- c语言实现分析hashtable算法
- MATLAB中的函数理解(二):minFunc工具包(不定期更新)
- ZCMU-1550-AA
- JNI教程(三)
- thinkphp5 在 sae上部署的基本配置
- linux之awk用法
- rails+工作环境搭建脚本
- 图片压缩
- Android系统源码编译
- python学习-4-类的使用
- 设计模式:观察者模式-observer
- 如何必须用new来实例化function