Java调用c,c++图解(VS2012实现类库)
2014-05-11 17:32
465 查看
一,Java部分,创建工程,建立一个类:
public class Huige {
static {
System.loadLibrary("HuiHui");
}
public native static int hui(int n);
public static void main(String[] args) {
int x;
Huige fhui = new Huige();
x = fhui.hui(5);
System.out.println(x);
}
1)分别生成Huige.class和 Huige.h文件
2)打开Huige.h 文件,查看内容如下
1)在Vs2012中创建动态链接库
2)执行编译,这时可能会报错,提示jni.h找不到,需要将jni.h所在的文件加入到项目的包含目录中。可以在项目中点右键->属性
3)创建Huige.h文件,将前面生成的.h文件内容引进去
4)在Huige.cpp文件中写代码,c语言实现内容,如下面从0加到n
5)重现生成后,找到Huige.dll文件,将其和Huige.class文件放入jak的bin下,运行。
public class Huige {
static {
System.loadLibrary("HuiHui");
}
public native static int hui(int n);
public static void main(String[] args) {
int x;
Huige fhui = new Huige();
x = fhui.hui(5);
System.out.println(x);
}
1)分别生成Huige.class和 Huige.h文件
2)打开Huige.h 文件,查看内容如下
/* DO NOT EDIT THIS FILE - it is machine generated */ #include <jni.h> /* Header for class Huige */ #ifndef _Included_Huige #define _Included_Huige #ifdef __cplusplus extern "C" { #endif /* * Class: Huige * Method: hui * Signature: (I)I */ JNIEXPORT jint JNICALL Java_Huige_hui (JNIEnv *, jclass, jint); #ifdef __cplusplus } #endif #endif二,创建c,c++动态连接库
1)在Vs2012中创建动态链接库
2)执行编译,这时可能会报错,提示jni.h找不到,需要将jni.h所在的文件加入到项目的包含目录中。可以在项目中点右键->属性
3)创建Huige.h文件,将前面生成的.h文件内容引进去
4)在Huige.cpp文件中写代码,c语言实现内容,如下面从0加到n
// HuiHui.cpp : 定义 DLL 应用程序的导出函数。 // #include "stdafx.h" #include "Huige.h" JNIEXPORT jint JNICALL Java_Huige_hui (JNIEnv *, jclass, jint n){ int x=0; for(int i=0;i<n;i++){ x+=i; } return x; }
5)重现生成后,找到Huige.dll文件,将其和Huige.class文件放入jak的bin下,运行。
相关文章推荐
- JAVA中利用JNI与VS2012实现C/C++的DLL调用
- JNI实现Java调用C++
- 通过JNI实现Java和C++的相互调用(转)
- 通过JNI实现Java和C++的相互调用(转)
- 通过JNI实现Java和C++的相互调用
- Java调用C++类库--JNI
- JNI简单实现Java调用C++/C的HelloWorld
- [cocos2dx]在cocos2dx中通过Jni实现Java与C++的互相调用(二)
- JNI实现Java调用C++程序(Win10 64位)
- 通过JNI实现Java和C++的相互调用(转)
- Java调用C++动态库具体实现
- C++调用DotNet类库实现ISAPI Filter(C#)
- Android JNI/NDK开发(2)JNI实现C/C++与Android/JAVA相互调用
- 用Swig将c/c++程序转为java代码(使用swig实现java调用c、c++的方法)
- 通过JNI实现Java和C++的相互调用(转)
- cocos2d-x中通过Jni实现Java与C++的互相调用
- 图解安卓-c++开发-通过java 调用c++ jni的使用
- Java调用C/C++实现的DLL动态库——JNI
- 通过JNI实现Java和C++的相互调用
- eclipse JNI示例。利用C/C++实现JAVA中调用的函数