我需要使用Java Applet在dll中调用方法。
dll是用C ++编写的。
是否可能,如果需要,需要什么。
谁能提供示例api
最佳答案
您应该使用JNI。
看看this文章。
确保环境变量CLASSPATH包含一个
引用“ [WINDIR] \ Java \ Classes \ Classes.zip”和“ C:”(假定
C:是您的发展动力)。
确保您的“ [SDK-Java] \ Bin”目录包含在您的
路径(用于JavaH,JVC和JView)。
确保正确设置了Visual C ++以供命令行使用。
有关详细信息,请参见Visual C ++文档。
编写您的Java代码:
public class TestJNI {
public native void greetings();
static {
System.loadLibrary("greet");
}
public static void main(String args[]) {
new TestJNI().greetings();
}
}
编译Java文件:
jvc TestJNI.java
在生成的类文件上运行JavaH:
javah -jni TestJNI
根据生成的头文件编写C / C ++代码:
#include "TestJNI.h"
#include <stdio.h>
JNIEXPORT void JNICALL Java_TestJNI_greetings(JNIEnv *env,jobject jobj) {
printf("Hello from Visual C++!");
}
编译C / C ++代码:
cl greet.cpp -Ic:\sdk-java.31\include -Fegreet.dll -MD -LD
测试应用程序:
jview TestJNI