`

利用Visual Studio 2010 实现JNI的最简单的例子.

 
阅读更多

Java中使用JNI调用DLL
1 编写范例文档

/**
 * @Package: 
 * @Title: TestNative.java
 * @Author: zhangzuoqiang
 * @Time: 5:08:48 PM Sep 17, 2011
 * @Version: 
 */

/**
 * @Description:
 * @Author: zhangzuoqiang
 * @Date: Sep 17, 2011
 */
public class TestNative {

	private native int add(int x, int y);

	public static void main(String[] args) {
		TestNative hh = new TestNative();
		int r = hh.add(30, 20);
		System.out.println("result = " + r);
	}

	static {
		System.loadLibrary("NativeDemo");
	}
}
 
#include "TestNative.h"
#include <jni.h>

JNIEXPORT jint JNICALL Java_TestNative_add
	(JNIEnv *ev, jobject obj, jint x, jint y)
{
	return x+y;
} 
 
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class TestNative */

#ifndef _Included_TestNative
#define _Included_TestNative
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     TestNative
 * Method:    add
 * Signature: (II)I
 */
JNIEXPORT jint JNICALL Java_TestNative_add
  (JNIEnv *, jobject, jint, jint);

#ifdef __cplusplus
}
#endif
#endif
 

 

 

 

 

 

 

 

分享到:
评论
1 楼 csdn_zuoqiang 2011-10-10  
cd到包的上一级目录(我们这里是$ProjectPath\bin)在运行下面的命令就搞定了:

javah -classpath . TestNative

即可生成*.h文件

相关推荐

    jni调用第三方dll最简单的实例.rar

    在描述的"jni调用第三方dll最简单的实例"中,我们可能包含以下几个步骤: 1. **编写Java代码**:创建一个Java类,声明一个`native`方法,这个方法将被第三方DLL实现。例如: ```java public class NativeDemo { ...

    JNI调用C++的应用实例

    4. **构建动态库**:使用合适的编译器(如Windows上的Visual Studio或Linux上的GCC)将C/C++源代码编译为动态链接库(如Windows上的`.dll`或Linux上的`.so`文件)。 5. **加载动态库**:在Java代码中,通过`System....

    简单jnative调用dll例子(含dll代码)

    本教程将通过一个简单的例子来演示如何使用JNI调用DLL动态链接库。 首先,我们需要理解JNI的工作原理。JNI提供了一套接口,使得Java代码可以通过这些接口来调用本地(Native)代码,这里的本地代码可以是C、C++等...

    JAVA调用C#写的DLL例子

    在 C# 中,我们可以使用 Visual Studio 创建一个 DLL 项目,并在其中编写我们的代码。 在 JAVA 中,我们可以使用 JNI(Java Native Interface)来调用 C# 编写的 DLL 文件。JNI 是一个允许 JAVA 程序调用本地方法的...

    C++ 调用Java类,已实践

    例如,在Windows环境下,可以通过Microsoft Visual Studio完成这一工作。 #### 总结 通过JNI,我们可以实现C++调用Java类的功能。这种技术不仅拓展了两种语言的应用范围,也为开发者提供了更多的选择。然而,需要...

    JAVA 调用C++程序

    如果缺少jni.h,可能需要将JDK的include目录添加到Visual Studio的包含目录设置中。 编译C++项目,生成DLL文件(如HelloJni.dll)。将此DLL文件与Java的`.class`文件放在同一目录下,因为Java使用`System....

    较详细的JNI简介

    在Visual Studio 2005中,可以创建一个Win32动态链接库项目,并将头文件包含在项目中,然后实现本地方法并生成DLL。 实现sayHello()方法的C代码可能如下: ```c #include "com_tao_test_NativeTest.h" #include ...

    java调用dll

    接下来,使用Visual Studio或其他C/C++编译器编写DLL。在这个例子中,我们创建了一个简单的DLL,其源代码为`calldll.cpp`: ```cpp #include "stdafx.h" #include "javacall.h" BOOL APIENTRY DllMain(HANDLE ...

Global site tag (gtag.js) - Google Analytics