`

一个JNI的小例子

阅读更多
最近要在JAVA程序里调用C++写的.dll文件,要用到JNI技术,找了些资料,自己做了个小例子.步骤如下:
JAVA 代码:
public class testdll{ 
 static { 
  System.loadLibrary("DLL"); 
 } 
public native static int get(); 
public native static void set(int i); 
public static void main(String[] args) { 
 testdll test = new testdll();
 test.set(100); 
 
 System.out.println(test.get()); 
 } 
} 

编译,然后使用javah -jni testdll生成testdll.h文件

C代码:
#include"testdll.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif

int i = 0; 
JNIEXPORT jint JNICALL Java_testdll_get (JNIEnv *, jclass) 
{ 
 return i; 
} 

JNIEXPORT void JNICALL Java_testdll_set (JNIEnv *, jclass, jint j) 
{ 
 i = j; 
} 

如果有如下错误:
引用
fatal error C1083: Cannot open include file: 'jni.h': No such file or directory
将以下文件:
\jdk\include\jni.h

\jdk\include\win32\jawt_md.h

\jdk\include\win32\jni_md.h
复制到Visual Studio.net的安装目录下的\Vc7\include目录中

如果是VC6.0,自己找相应的目录即可!

然后编译,成功后,将生成的.dll文件copy到JAVA文件的同一级目录中

运行java程序````````



分享到:
评论
1 楼 ftp51423121 2009-09-21  
    

相关推荐

    ubuntu下第一个Jni例子

    在这个例子中,会生成一个`HelloJNI.h`文件。 ```bash javah -jni HelloJNI ``` 4. **编写本地代码**:打开生成的头文件,实现`sayHello`方法。你需要包含jni.h头文件,并实现方法体。创建一个名为`hello.c`的C...

    jni简单的例子,初学者一看就会

    一个jni例子,放到桌面直接编译就能跑,一个jni例子,放到桌面直接编译就能跑,一个jni例子,放到桌面直接编译就能跑,一个jni例子,放到桌面直接编译就能跑,一个jni例子,放到桌面直接编译就能跑,一个jni例子,放...

    关于JNI的小例子 实现java与C++的方法互调

    本教程将通过一个小例子,详细介绍如何使用JNI实现Java与C++方法的互调。 首先,我们需要在Java层定义一个native方法。在Java中,我们可以使用`native`关键字声明一个方法,但不提供具体实现,如下所示: ```java ...

    android JNI小例子

    这个"android JNI小例子"旨在提供一个基础的实践教程,帮助开发者理解如何在Android应用中使用JNI技术。 JNI的核心功能是为Java应用程序提供了一种方式来调用本地(native)代码,也就是用C、C++或其他非Java语言...

    AIDL和JNI使用的小例子

    总结一下,本示例提供的`testndk`项目是一个结合使用AIDL和JNI的实践案例,展示了如何在Android应用中进行跨进程通信并利用C/C++代码提升性能。通过阅读源码和配合博客文章,你可以深入理解这两种技术的工作原理和...

    安卓使用jni的例子

    这个“安卓使用jni的例子”是一个实际应用JNI的示例,用于展示如何在Android平台上通过JNI接口实现Java代码调用C/C++代码。 首先,我们需要了解JNI的基本结构。在Java端,我们会定义一个native方法,这个方法没有...

    jni最简单例子,注释详细

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

    一个简单的jni显示Dialog的例子

    本例子展示了如何通过JNI在Android应用中显示一个Dialog。 首先,我们需要创建一个本地方法(native method)在Java类中声明,这个方法将在C/C++代码中实现。例如: ```java public class MainActivity extends ...

    NDK JNI开发例子代码2

    例如,你可能会看到一个名为`JniDemoActivity`的类,其中有一个`native void callNativeMethod();`的方法声明。Java代码会通过`System.loadLibrary("JniDemo")`来加载本地库。 4. **C/C++源码**:在jni目录下,你会...

    jni返回对象数组例子

    Java Native Interface(JNI)是Java平台的标准组成部分,它允许...这就是一个简单的JNI返回对象数组的例子。通过这种方式,我们可以灵活地在Java和本地代码之间传递复杂的数据结构,极大地扩展了Java应用程序的能力。

    ubuntu上面使用jni例子

    这个"ubuntu上面使用jni例子"的压缩包很可能是提供了一个在Ubuntu环境下开发和运行JNI程序的示例。 JNI的核心在于创建本地方法接口,这些接口允许Java代码调用C/C++编写的函数,反之亦然。下面我们将深入探讨在...

    JNi调用c++写本地文件小例子

    C++部分通常会包含一个头文件,定义了JNI函数的原型,以及一个实现文件,包含实际的函数体。这些函数需要遵循特定的JNI命名约定,例如`Java_package_name_class_name_method_name`。在本例中,可能有一个名为`...

    jni例子——使用int数组

    在这个“jni例子——使用int数组”的示例中,我们将深入探讨如何在Java和C/C++之间传递和操作int数组。 1. **JNI基础知识**: - JNI接口提供了Java与本地代码(如C/C++)通信的桥梁,使得开发者可以在Java应用中...

    使用java与C写的jni小例子

    标题中的“使用java与C写的jni小例子”指的是一个通过Java Native Interface (JNI) 技术实现的项目,它展示了如何在Java程序中调用C语言编写的动态链接库(DLL)函数。JNI是Java平台标准的一部分,允许Java代码和...

    JNI实现示例DEMO

    要创建一个JNI应用,你需要遵循以下步骤: 1. **定义Java接口**:首先,在Java类中声明一组native方法,这些方法将在本地代码中实现。例如: ```java public class NativeDemo { static { System.loadLibrary(...

    摄像头JNI例子教程.zip

    通过这个摄像头JNI例子,我们了解了如何声明和实现本地方法,以及如何在C/C++代码中处理摄像头数据。JNI提供了一种强大的方式,让Java应用能够充分利用底层平台的功能,同时保持代码的可移植性。学习和掌握JNI技术,...

    Android JNI图像处理经典例子

    总之,Android JNI图像处理经典例子提供了一个学习如何结合Java和C/C++来优化图像处理流程的平台。通过这种方式,开发者能够提升应用的性能,尤其是在处理大量图像数据时,同时还能深入理解Android的跨语言编程。...

    andoid studio中JNI调用第三方库例子

    在Android开发中,JNI(Java Native Interface)是一个关键的组件,它允许Java代码与其他语言编写的代码进行交互,包括C、C++等。这个例子"android studio中JNI调用第三方库例子"是基于谷歌官方提供的"hello-libs...

    简单的JNIdemo

    在这个"简单的JNIdemo"中,我们将深入探讨JNI的基本概念、工作原理以及如何创建和运行一个简单的示例。 首先,我们需要理解JNI的核心功能。JNI提供了一种方式,让Java代码可以声明并调用本地方法,这些方法是由非...

Global site tag (gtag.js) - Google Analytics