jni 学习笔记(java调用c++)
来源:互联网 发布:关于单片机的论文 编辑:程序博客网 时间:2024/05/29 09:48
package com.native;
public class MyNative {
public native static void set( int num );
public native static int get();
}
javac 指令
javac G:\Job\android\wrok\Native\src\com\native
javah 指令
set classpath=G:\Job\android\wrok\Native\src
javah -jni com.native.MyNative
生成.dll文件
用vs创建一个win32 项目进入win32应用程序向导界面 点击下一步选择应用程序类型:dll 点击完成,
将生成的.h(com_native_MyNative)文件copy到创建的vs项目中,新建一个.cpp(MyNative.cpp)文件将com_native_MyNative.h中的方法实现最后编译项目生成项目.dll文件。
package com.native;
public class Main {
public static void main( String args[] ){
System.loadLibrary( "MyNative" );
com.native.MyNative a = new com.native.MyNative();
int i = 99;
a.set(i);
System.out.println( "set value: " + i );
System.out.println( "get value: " + a.get() );
}
}
com_native_MyNative.h
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class com_native_MyNative */
#ifndef _Included_com_native_MyNative
#define _Included_com_native_MyNative
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: com_native_MyNative
* Method: set
* Signature: (I)V
*/
JNIEXPORT void JNICALL Java_com_native_MyNative_set
(JNIEnv *, jclass, jint);
/*
* Class: com_native_MyNative
* Method: get
* Signature: ()I
*/
JNIEXPORT jint JNICALL Java_com_native_MyNative_get
(JNIEnv *, jclass);
#ifdef __cplusplus
}
#endif
#endif
MyNative.cpp
#include"com_native_MyNative.h"
int i;
JNIEXPORT void JNICALL Java_com_native_MyNative_set
(JNIEnv *, jclass, jint j)
{
i = j;
printf("set ok!\n");
}
JNIEXPORT jint JNICALL Java_com_native_MyNative_get
(JNIEnv *, jclass)
{
printf( "java 调用C++" );
return i;
}
- jni 学习笔记(java调用c++)
- JNI学习-C 调用Java
- JNI学习------C语言调用Java
- JNI学习------C语言调用Java
- Android 学习JNI,用JAVA调用C
- java使用JNI调用驱动-学习笔记
- Java调用C JNI
- jni c调用java
- JNI java c 调用
- JNI C调用Java
- 安卓学习笔记---JNI实现Java与C之间进行互相调用
- JNI学习系列——java中调用C/C++
- Java 调用C/C++ , JNI(Jave Native Interface)的学习
- JNI学习之java 调用C/C++本地库
- Android学习JNI,使用C调用JAVA语言
- JNI学习(一)(c和java层对象互相调用)
- JAVA中使用JNI调用C++代码学习笔记
- Android NDK学习笔记9-JNI调用Java方法
- VS2010的快捷键;VS2012变化的快捷键;VS2008的快捷键
- 怎么下载youtube视频
- 关于Confluence的解析与思考
- 励志案例收集
- const 与 readonly知多少
- jni 学习笔记(java调用c++)
- jquery validate 详解
- python 内置函数
- Centos启动流程
- Oracle培训笔记
- CSS加入到HTML中的几种技巧
- QString和QDateTime之间的相互转换
- Windows下USB磁盘开发系列四:SetupDiEnumDeviceInterfaces()返回ERROR_NO_MORE_ITEMS 259错误代码的原因
- 关于android导入工程时出现的@Override错误问题的解决<转>