`

利用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文件

相关推荐

    visual studio 2019下C++通过JNI调用JAVA代码

    在Visual Studio 2019中,你可以方便地利用这个特性来构建混合语言的应用,实现特定功能的优化或者充分利用已有的C++库。在实际开发中,需要注意处理好内存管理和线程安全问题,确保程序的稳定性和效率。

    安卓串口Socket通讯USB驱动jni相关-调用jni的简单例子.rar

    这个压缩包“安卓串口Socket通讯USB驱动jni相关-调用jni的简单例子.rar”提供了一个实例,帮助开发者理解如何在Android应用中使用JNI来实现串口、Socket通信以及USB驱动的操作。下面我们将详细探讨这些知识点。 1. ...

    visual studio 2019下C++通过JNI调用JAVA代码.rar

    本教程将详细讲解如何在Visual Studio 2019环境下,利用C++通过Java Native Interface (JNI) 调用Java代码。首先,我们需要了解JNI的概念和作用。 JNI是Java平台提供的一种接口,允许Java代码和其他语言写的代码...

    Java registry,com.ice.jni.registry

    com.ice.jni.registry.RegMultiStringValue.class com.ice.jni.registry.RegBinaryValue.class com.ice.jni.registry.RegistryException.class com.ice.jni.registry.NoSuchValueException.class ...

    java读写注册表jar包,com.ice.jni.registry

    META-INF/MANIFEST.MF com.ice.jni.registry.HexNumberFormat.class com.ice.jni.registry.NoSuchKeyException.class com.ice.jni.registry.NoSuchValueException.class com.ice.jni.registry.RegBinaryValue.class ...

    jni.h文件.7z

    在这个场景中,我们关注的是`jni.h`文件,它是JNI接口定义的核心头文件。 `jni.h`文件包含了所有JNI函数的声明,这些函数允许Java虚拟机(JVM)与本地代码(即非Java语言编写的代码)进行通信。当你在Java程序中...

    Android Studio 3.0 JNI的实现

    Android Studio 3.0 JNI的简单实现...........................................................................

    Android studio 下 NDK Jni 开发 简单例子

    #include &lt;jni.h&gt; #include extern "C" JNIEXPORT jstring JNICALL Java_com_example_yipjnidemo_MyJniClass_stringFromJNI( JNIEnv *env, jobject /* this */) { std::string hello = "Hello from C++"; ...

    jni程序开发简单示例和说明(eclipse + Microsoft Visual Studio 2010).zip

    本示例是关于如何在Eclipse开发环境中结合Microsoft Visual Studio 2010来实现JNI程序开发的一个详细教程。 首先,我们需要理解JNI的核心概念。JNI允许Java应用程序调用本地(非Java)代码,比如C++,并反之亦然。...

    JNI学习资料(包括JAVA初级教程 j-jni.zip JNI.pdf jni(1).pdf )

    自己收集的JNI学习资料(包括JAVA初级教程 j-jni.zip JNI.pdf jni(1).pdf ), 个人认为内容很全,尤其是j-jni.zip 里面是IBM的在线教程,非常实用,理论例子都很全,是JNI学习的入门帮手.

    DELPHI开发JNI必备 jni.pas

    总结来说,`jni.pas`和`JNI_MD.INC`是Delphi开发者使用JNI的关键组件,它们使得Delphi程序能够无缝地与Java世界交互,扩大了Delphi的应用范围,特别是在需要与已有的Java系统集成或者利用特定平台原生功能时。...

    JNI的两个头文件jni.h和jni_md.h

    3. **实现本地方法**:在生成的C/C++源文件中实现本地方法,这里会用到`jni.h`中定义的各种函数。 4. **编译本地库**:将实现的C/C++代码编译为动态链接库或静态库,依赖于目标平台。 5. **加载本地库**:在Java代码...

    jni最简单例子,注释详细

    这个“jni最简单例子,注释详细”应该是提供了一个基础的JNI学习教程,下面我们将深入探讨JNI的相关知识点。 1. **JNI概述** JNI是一种接口,使得Java应用程序可以调用本地(非Java)代码,也可以让本地代码调用...

    JNI 静态注册 so 和 IDA 导入的 JNI.h 文件.zip

    JNI 静态注册 so 和 IDA 导入的 JNI.h 文件

    Jnidemo-master.3.17.final.ok(20200813.final.ok).zip

    通过这个项目,开发者不仅可以学习到如何编写和使用JNI,还能了解到Java与本地代码的协同工作原理,这对于在性能要求高的场景下优化Java应用或者利用已有的C/C++库是非常有帮助的。 总结来说,"Jnidemo-master.3.17...

    jni.zip jni编译jni下载

    JNI,全称Java Native Interface,...在提供的压缩包`jni.zip`中,包括了`jni.h`和`jni_md.h`两个头文件,它们是进行JNI编程的基础。开发者可以下载这些文件,以便在自己的项目中引用,从而实现Java和本地代码的交互。

    JNI完全技术手册.pdf

    2. **头文件和库**:JNI开发需要包含jni.h头文件,并创建动态链接库(DLL on Windows,.so on Linux,dylib on macOS)来包含本地方法的实现。 3. **JNIEnv指针**:JNIEnv是一个指向一组函数指针的指针,这些函数...

    JNI 简介与实现.zip

    JNI 简介与实现.zip

    Jnidemo-master.3.17.final.ok(20200812.3.1).zip

    通过研究JNIDemo Master 3.17.final.ok项目,开发者不仅能掌握JNI的基本用法,还能了解到在实际项目中如何有效地利用JNI来解决特定问题。对于那些希望将Java与本地代码集成或者需要高性能计算的开发者来说,这是一个...

    jni4net-0.8.8.0.zip

    jni4net是一个强大的工具,它实现了Java和.NET之间的互操作性,允许Java应用程序调用C#编写的DLL库。在标题“jni4net-0.8.8.0.zip”中,我们可以看出这是jni4net的一个特定版本,即0.8.8.0。这个压缩包通常包含了该...

Global site tag (gtag.js) - Google Analytics