java調用dll
首選寫dll
# include <Windows.h>
_declspec(dllexport) char* go(char *ch)
{
MessageBox(NULL, TEXT(ch), TEXT("你好"), MB_OK);
return "來自dll的問候";
}
注意改成動態庫再生成
java調用
復制生成的dll到java項目的根目錄
然后寫調用代碼
import com.sun.jna.Library;
import com.sun.jna.Native;
public class JNAUtilsTest {
public interface Dll extends Library {
JNAUtilsTest.Dll INSTANCE = (JNAUtilsTest.Dll) Native.loadLibrary("go", JNAUtilsTest.Dll.class);// 加載動態庫文件
String go(String s);
}
public static void main(String[] args){
System.setProperty("jna.encoding", "GBK");//解決中文亂碼
String go = Dll.INSTANCE.go("777");
System.out.println(go);
}
}
結果: