我需要使用 Java Applet 在 dll 中调用一个方法。 dll 是用 C++ 编写的。
是否可以,如果可以,需要什么。
谁能提供示例api
最佳答案
- 确保环境变量 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
关于java - 从小程序调用 dll 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9597882/