1. 写java代码
package com.owo;
public class Main {
public static void main(String[] args)
{
System.load("C:\\Users\\wangli\\Videos\\DLL.dll");
System.out.println("start");
foo();
System.out.println("end");
}
public static native void foo();
}
2. 构建DLL
生成class文件 javac com/owo.Main.java->com/owo/Main.class
生成.h文件 javah -cp . com.owo.Main -> com_owo_Main.h
新建com_owo_Main.cc文件,并实现native函数foo
/*
* Class: com_owo_Main
* Method: foo
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_com_owo_Main_foo
(JNIEnv *, jclass)
{
int a = 0;
int b = 1;
int c = a + b;
c += 2;c -= 3;
}
3. 在eclipse中开始调试,
4. 将VS attach到javaw上去。
选择Debug->Attach to process...
在列表中选择javaw.exe, vs进入调试状态。
5. 用VS调试JNI代码
Eclipse 继续执行,开始执行jni函数,则vs会自动开始调试, 然后你就可以愉快的用
Vs调试你的jni代码了
6. Jni函数调试返回之后又回到eclipse里了,妥妥的。