Linux下调JNI图文并茂.pdfVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux下调JNI图文并茂

linux 下 java 的 jni 调用 JAVA JNI 调用 C/C++ 库提高运行效率 ( 图) JAVA JNI 调用 C/C++ 库提高运行效率 JAVA 以其跨平台的特性深受人们喜爱,而又正由于它的跨平台的目的,使得它和本地机器的各种内部 联系变得很少,约束了它的功能。解决 JAVA 对本地操作的一种方法就是 JNI(Java Native Interface) 。 JAVA 通过 JNI 调用本地方法,而本地方法是以库文件的形式存放的(在 WINDOWS 平台上是 DLL 文件形式,在 UNIX 机器上是 SO 文件形式)。通过调用本地的库文件的内部方法,使 JAVA 可以实现和 本地机器的紧密联系,调用系统级的各接口方法。 好,我们现在来着手开发一个用 Native 方法实现的 System.out.print() 方法。 首先,我们要设置一个环境变量,用来告诉虚拟机我们的 C/C++ 库放在哪里,我们打开 $HOME 目录 下的隐藏文件 .bashrc ,在最下面添加一行 export LD_LIBRARY_PATH= 你存放库文件的文件夹 如图: 1 然后 Log Out ,重登录后在终端运行命令 echo $LD_LIBRARY_PATH 看我们的设置是否成功 如图: 2 然后我们建立一个 JAVA 工程,名为 JavaJni, 再建立两个文件,一个是我们要实验的 JNI 类文件,名为 Hello.java, 另外一个为测试文件 Main.java, 结构下 如图: 3 ========== Hello.java package com.sdna.jni; public class Hello { static{ System.loadLibrary(Hello); } static native void print(String strOut); } ==================== ========== Main.java package com.sdna.jni; public class Main { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Hello.print(Hello World!\n); } } ==================== 然后我们编译 Hello.java 成 .class 文件 ,然后根据 Hello.class 文件生成 C/C++ 的头文件,命令如下 如图: 4 然后我们建立一个 C++ 工程,选择 Shared Library 如图: 5 将刚刚建立好的 com_sdna_jni_Hello.h 文件拖入我们刚刚建立好的 C/C++ 工程,并建立一个 com_sdna_jni_Hello.cpp 文件,用来实现头文件中声明的方法,结构如下 如图: 6 ========== com_sdna_jni_Hello.h /* DO NOT EDIT THIS FILE - it is machine generated */ #include jni.h /* Header for class com_sdna_jni_Hello */ #ifndef _Included_com_sdna_jni_Hello #define _Included_com_sdna_jni_Hello #ifdef __cplusplus extern C {

文档评论(0)

ligennv1314 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档