如果没有dll的源码,java能够通过jni访问已有的dll吗?如果能,该这样调用呢?
解决方案 »
- 一个异常小问题 求教
- 如何读写剪贴板clipboard中混合着string和image的内容
- java里面的assert是不是只在1.4版本里面用?
- 求教:JDK1.5中的异常 java.util.concurrent.ThreadPoolExecutor$Worker.run该如何处理?
- 100分求together for eclipse 6.2的注册机!!
- 怎样将一个可序列化的对象保存到文件中???
- java里如inttostr,strtoint等这样的函数在哪个包里?
- 谁知道程序从jdk1.2移到jdk1.4要注意那些地方
- 关于查询datatime类型字段的问题
- javamail的问题??谢谢你的关注!!
- 求助!!!!java表格问题
- java中内存的使用
举个例子,已知dll为A.dll, 它里边已经export,可被调用的API为int inc(int a);
这时你不能直接在java中调用这个方法
class T
{
public T();
private native int tInc(int a);
public int inc(int a)
{
return tInc(a);
}
}使用javah编译以后,会生成T对应的c头文件,
然后你在那个文件对应实现文件当中,在tInc对应的函数实现体中,调用A.dll的API inc(int a)就可以了。
思路就是这样。
就是说,需要一个wrapper,在wrapper里调用dll.