设为首页 加入收藏

TOP

Java的本地调用几点要注意
2014-11-24 03:27:15 来源: 作者: 【 】 浏览:1
Tags:Java 本地 调用 注意

Java的本地调用jni。调用c为例。在Windows下调用.dll文件;在Linux下调用.so文件。


1 Java部分:写一个Java调用的方法。
注意:动态库的名字的写法:
Windows环境:
loadLibrary("libname");
注意调用的时候要用全名,扩展名可以不写。


Linux环境:
loadLibrary("name");
注意调用的时候不要用全名,要去掉前面的lib和后面的扩展名。


编译Java文件。然后用Javah 生成.h文件给c程序用。
注意:如果Java文件又包的话,生成的.h是不一样的。.h中的函数名会带上包名。例如:cn/common/testlib.Java,生成的.h中的函数名前面会是:cn_common_testlib。如果没有包,生成的.h中的函数名就没有cn_common_


2 写好c程序,编译生成.dll或.so
vc可以直接生成,或用命令行加参数的方法生成。



3 .dll和.so放置的位置:libname.dll/libname.so
Windows环境:
loadLibrary("libname");
注意调用的时候要用全名,扩展名可以不写。
在环境变量设置PATH=%libname.dll的位置%,这样Java即可找到自己定义的库了。


Linux环境:
loadLibrary("name");
注意调用的时候不要用全名,要去掉前面的lib和后面的扩展名。
在环境变量设置:修改/etc下的profile文件加入这两句:
LD_LIBRARY_PATH=libname.so的位置
export LD_LIBRARY_PATH


或者直接放在%Java_HOME%/jre/lib/i386/下面。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android中一些要注意的地方 下一篇Android Edit特殊属性

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Shell脚本:Linux Sh (2025-12-25 05:50:11)
·VMware虚拟机安装Lin (2025-12-25 05:50:08)
·Linux学习教程,Linu (2025-12-25 05:50:06)
·工业机器人TCP校准中 (2025-12-25 05:19:17)
·opc 通讯协议与 TCP (2025-12-25 05:19:15)