您的位置:首页 > 编程语言 > Java开发

Java 用VS2010+Eclipse调试jni的native代码 推荐

2014-02-22 15:52 309 查看
1.在eclipse中新建一个JNITest的工程,新建一个package com.example.test。



2.在com.example.test下新建一个类HelloWorld,代码如下:

package com.example.test;

public class HelloWorld {
public native void displayHelloWorld();

static {
System.loadLibrary("jniTest");
}

public static void main(String[] args) {
System.err.println("TEST:");
new HelloWorld().displayHelloWorld();
}
}


3.运行cmd,定位到JNITest根目录下,mkdir新建jni文件夹,
运行命令 javah -classpath bin -d jni com.example.test.HelloWorld



会在jni文件夹下生成 com_example_test_HelloWorld.h




4.打开vs2010新建一个名为jniTest的win32控制台项目:




点击确定->下一步,选中dll,附加选项中选择空项目:




5.将我们刚javah出来的h文件复制到jniTest工程目录下的jniTest文件夹下,在jniTest工程中添加头文件,现有项,在弹出来的对话框选择com_example_test_HelloWorld.h文件;




6.将java jdk安装目录中的include\jni.h include\win32\jni_md.h两个文件复制到与com_example_test_HelloWorld.h同一目录下:


7.在vs2010工程jniTest新建一个C++源文件,命名为hello.cpp,代码如下:
#include "com_example_test_HelloWorld.h"
#include <stdio.h>

JNIEXPORT void JNICALL Java_com_example_test_HelloWorld_displayHelloWorld
(JNIEnv * env, jobject obj)
{
printf("Hello World,ponpon\n");
}

将com_example_test_HelloWorld.h内的#include <jni.h>改为#include "jni.h",编译之,若成功在Debug下生成jniTest.dll。
8.回到Eclipse中,右击工程,选择”Import“导入:



选择File System指定到vs2010工程jniTest的Debug下,选择jniTest.dll:




单击finish,并编译,控制台输出如下:


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java eclipse jni