Java通过JNI调用dll文件
骨头的程序是JAVA写的,赵工的AI库是一个lib,那么强大不用太可惜了,容我想想......
简单来说:
0-Java 建立需求函数模板
1-使用 javah xxx.class 工具生成.h文件
2-把jni.h、jni_md.h和刚才生成的.h文件放到VS建立的dll空项目里
3-生成可以调用的dll
大功告成
详细点:
例如你要用dll 实现一个Max()函数的功能,先把这个文件编译成class文件
然后用 javah 生成.h 文件
public class TestNative {
private native static int Max(int a, int b);
static {
System.loadLibrary("VCdll");
}
public static void main(String[] args) {
System.out.println(Max(4, 5));
}
}
visual Studio 里:
0-新建->Win32->Win32项目->起个名mydll->下一步->DLL和空项目->完成
1-把jni.h、jni_md.h和刚才生成的.h文件放到头文件里
2-添加新项目->新建c++文件->cpp文件里引用刚才生成的.h文件->实现相关方法->
3-生成dll
4-放在java文件目录下,ok
相关文档:
看了一段北风网的视频,总结几个经典的java陷阱给大家。
答案在博客中:http://blog.csdn.net/ol_beta/archive/2010/05/17/5598867.aspx
欢迎大家讨论!
1、找奇数:
Java code
public static boolean isOdd(int i){
return i % 2 == 0;
}
上面的方法真的能找到所有的奇数么?
2、浮点数想减
Jav ......
在进行MIS系统开发过程中,从配置文件中读取配置信息是每一个系统必须具备的功能,例如,我们要配置读取数据库配置信息,包括驱动程序名、连接字符串,用户名,口令等信息,由于这些信息会随着用户的不同而发生改变,所以不能直接把参数写在程序中,将其写入配置文件,然后在应用程序中读取配置信息并加以使用,是一个成 ......
一、
问:org.postgresql.util.PSQLException: FATAL: no pg_hba.conf entry for host "192.168.254.103", user "postgres",database "postgres", SSL off
答:PostgreSQ数据库为了安全,它不会监听除本地以外的所有连接请求,当用户通过JDBC访问是,就会报一些以上的异常。要解决这个问题 ......
为了实现自定义的log类,能够输出具体的代码行行号,通过使用StackTraceElement对象实现了。
这里指出需要注意的几个问题:
1. 程序中返回的代码行行号,是新建StackTrackElement对象的那一行。
2. 可以通过传参的方法实现输出特定行行号。具体实现见代码。
1/**
2 *
3 */
4package leo.demo ......
在
JAVA
中,有六个不同的地方可以存储数据:
1.
寄存器(
register
)。这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部。但是寄存器的数量极
其有限,所以寄存器由编译器根据需求进行分配。你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象。
2.
堆栈(
stac ......