独立博客
无聊记
1,下载JNative.jar
dll的部分代码
2,按照下面demo调用就好,省去JNI的麻烦事
根据网上的资料说要什么jnative的dll..我是win7的环境,装过VS之类的一大堆东西没有用到,不知道是不是这个原因。
package
com.wuliaoji.bean;
import
org.xvolks.jnative.JNative;
import
org.xvolks.jnative.Type;
import
org.xvolks.jnative.exceptions.NativeException;
public
class
Test {
public
static
void
main(String argv[])
throws
NativeException, IllegalAccessException {
System.load(
"D:\\TOOLS2\\VC6\\Microsoft Visual Studio\\MyProjects\\test\\Debug\\test.dll"
);
//InterfaceFun是dll文件
//参数说明InterfaceFundll名,AddZhiYe函数名
JNative jnative =
new
JNative(
"test.dll"
,
"SAY"
);
//设置此函数的返回值
jnative.setRetVal(Type.
STRING
);
int
i=0;
//赋予参数值
jnative.setParameter(i++, Type.
STRING
,
"11ddddasd萨顶顶"
);
// jnative.setParameter(i++, Type.INT, "2");
//函数执行
jnative.invoke();
//打印函数返回值
System.
out
.println(jnative.getRetVal());
}
}
extern "C" _declspec(dllexport) int ADD(int a, int b)
{
return a + b;//ok
}
extern "C" _declspec(dllexport) CString SAY(char *a)
{
return a;//ok
}
extern "C" _declspec(dllexport) CString SAY2(char * str)
{
CString strtest = "ada";
return str + strtest;
}
本文通过一个具体的示例,展示了如何使用JNative库在Java中调用DLL文件,避免了JNI的复杂过程。详细介绍了加载DLL、设置函数参数及获取返回值的方法,并提供了对应的DLL代码片段。
223

被折叠的 条评论
为什么被折叠?



