java jni调用dll_Jni实现调用Dll

第一步:编写Java端代码

定义一个Java类

public class TestNativeDemo {

// 声明本地方法

public native String testJni(String arg);

static {

// 加载DLL文件

System.loadLibrary("TestNativeDemoCPP");

}

public static void main(String args[]) {

TestNativeDemo ob = new TestNativeDemo();

// 调用本地方法

String result = ob.testJni("Hello,Jni"); // call a native method

System.out.println("TestNativeDemo.testJni=" + result);

}

}

----------------------------------------------

编译之后在生成TestNativeDemo.class的bin目录下执行javah TestNativeDemo命令生成头文件TestNativeDemo.h

----------------------------------------------

/* DO NOT EDIT THIS FILE - it is machine generated */sky7034

#include

/* Header for class TestNativeDemo */

#ifndef _Included_TestNativeDemo //避免重复包含头文件

#define _Included_TestNativeDemo

#ifdef __cplusplus //c++编译环境中才会定义__cplusplus

extern "C" { //告诉编译器下面的函数是c语言函数(因为c++和c语言对函数的编译转换不一样,主要是c++中存在重载)

#endif

/*

* Class:     TestNativeDemo

* Method:    testJni

* Signature: (Ljava/lang/String;)Ljava/lang/String;

*/

JNIEXPORT jstring JNICALL Java_TestNativeDemo_testJni

(JNIEnv *, jobject, jstring);

#ifdef __cplusplus

}

#endif

#endif

posted on 2012-01-12 09:43 墙头草 阅读(559) 评论(0)  编辑  收藏

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值