如何用vs2008开发jni

本文介绍了如何在Eclipse中创建Java项目,并使用JNI生成C接口头文件,接着在VS2008中创建C++项目,实现JNI接口并编译成DLL。最后,将DLL文件复制到Java项目目录,完成Java调用C代码的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Eclipse:

新建Java项目然后新建类

代码

package test;

 

public class Hello

{

 

         publicnative void sayHello();

 

         static

         {

                   System.loadLibrary("qq");//这个就是你要生成的dll文件放在项目下就可以了

         }

 

         publicstatic void main(String[] args)

         {

                   Helloh = new Hello();

                   h.sayHello();

         }

 

}

然后到bin文件夹下面

运行

test为包名

然后生成

查看test_Hello.h代码

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

#include <jni.h>

/* Header for class test_Hello */

 

#ifndef _Included_test_Hello

#define _Included_test_Hello

#ifdef __cplusplus

extern "C" {

#endif

/*

 * Class:     test_Hello

 * Method:    sayHello

 * Signature: ()V

 */

JNIEXPORT void JNICALL Java_test_Hello_sayHello

  (JNIEnv*, jobject);//这就是C要实现的接口

 

#ifdef __cplusplus

}

#endif

#endif

VS2008:

 文件新建->项目->Vistal C++->Win32->win32项目

Next:

 

然后导入Javah –Jni生成的文件

右键项目属性->配置属性->c/c++常规

然后点击包含目录 将头文件之前jni生成的(test_Hello.h)导入


然后在头文件的选项下

选择qq .h的文件

删除没用的代码

在qq.h里面添加

 

#include "jni.h"

#include "test_Hello.h"<-这是我之前导入的头文件

添加test_Hello.h方法

JNIEXPORT void JNICALLJava_test_Hello_sayHello

(JNIEnv *, jobject);

 

然后打开qq.cpp文件插入如下代码

#include "stdafx.h"

#include "zhou.h"

JNIEXPORT void JNICALLJava_test_Hello_sayHello

 (JNIEnv *, jobject)

{

  printf("hello world!");

}//方法实现

 

由于我们没有jni.h  jni_md.h所以我们需要从java里面拿

在java目录下的include文件夹中把jni.h复制

再到win32文件夹下把jni_md.h复制到VS2008下VC的include里面

这时候要在vs2008下把菜单项改为release


然后右键项目生成不能点调试哦然后就生成dll和lib文件啦

最后把生成的dll文件复制到Java项目目录下 点击运行啦

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值