Java JNI 调用的完全手册.docVIP

  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文档。上传文档
查看更多
Java JNI 调用的完全手册

JNI调用的注意事项 2 JNI系统一些细节点总结 3 Java和C之间互相传递字符串 7 Java和C互操作的异常问题处理 9 Java与C\C++之间通过JNI传递中文字符串 9 Java: JNI完全手册 17 JNI使用技巧点滴(二) 23 JNI部分 24 Tomcat+jsp+javaBean的例子 26 JNI调用固有方法 30 Java基础知识——JNI入门介绍(下) 32 Java调用本地方法(JNI浅谈) 38 使用JNI的步骤 44 JAVA与C++::关于JNI中文字符串操作问题总结 47 Windows 平台上实现 Java 本地方法实用的示例、步骤和准则 51 例解 VC++ 6.0 实现 JNI 58 JNI中文处理问题小结 63 jni的中文字符串处理 72 JNI中jstring类型与c语言中的字符串的转换 74 jstring和char*之间的转换方法 76 用Delphi开发JNI(Java Native Interface)应用(一) 77 java通过JNI与delphi交互 80 使用JNI技术实现JAVA程序调用dll 83 HP-UX下使用JNI访问标准C++程序 89 JNI调用的注意事项 JNI的简单教程网上很多,看看就能够明白,照着操作也基本能够做下来。但是因为大多的教程写的都不够详细,在照着操作时候可能会遇到几个小问题,故开篇时在这里简单总结一下。 在C语言环境中编译代码,出现编译错误,类型为找不到jni.h文件。 解决方法:在jdk中寻找到jni.h和jni_md.h文件,将这两个文件拷贝到C语言编译器的include目录中。具体的目录可能会跟编译器有关。比如Dev C++中,将其直接拷贝到include目录下即可。 在C语言环境中编译代码,出现编译错误,类型为参数错误。 解决方法:不能简单的把生成的.h文件中的方法名直接拷贝到.c文件中去,需要加入具体的参数。例如JNIEXPORT void JNICALL Java_testdll (JNIEnv *, jclass, jint)应该更改为JNIEXPORT void JNICALL Java_testdll (JNIEnv * para1, jclass, jint para2)。 在Java中调用JNI时候,java.lang.UnsatisfiedLinkError错误发生。 解决方法:生成的dll文件放错了位置,所以不能加载dll文件。试试将dll文件放在与class文件同一目录,再试试放在package的根目录。 1、建的dll工程里一定要是.c文件。 2、一定要是release编译的dll文件,不要用debug生成的。 3、javah 时使用完整包名.类名 (重要!!!) 编译举例: 调用JNI的Java源文件FpMatch.java 。 编译说明: javac -d ./ FpMatch.java -d ./ 参数会在当前目录下,依次建立package指定的目录,并把FpMatch.class放在package指定路径下,为下一步的javah做准备。 javah -d ./ com.until.tc.FpMatch 增加-d参数才可以生成正确的.h文件。这样JNI调用函数名里才包括了package的路径。 JNI系统一些细节点总结 一.系统环境 2 二.JNI的简要使用例子 2 三.JNI调用中考虑的问题 3 四.JNI中对JAVA传入数据的处理 5 五.JAVA调用本地接口后的数据处理问题 5 六.JAVA中的一些小东西 5 一.系统环境 linux操作系统kernel2.4.2,安装j2sdk1.4.0 二.JNI的简要使用例子 下面是一个简单的例子实现打印一句话的功能,但是用的c的printf最终实现。一般提供给java的jni接口包括一个so文件(封装了c函数的实现)和一个java文件(需要调用path的类)。 1. JNI的目的是使java方法中能够调用c实现的一些函数,比如以下的java类,就需要调用一个本地函数testjni(一般声明为private native类型),首先需要创建文件weiqiong.java,内容如下: class weiqiong { static { System.loadLibrary(testjni);//载入静态库,test函数在其中实现 } private native void testjni(); //声明本地调用 public void test() { testjni(); } public static void main(String args[]) { weiqiong haha = new w

文档评论(0)

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

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

1亿VIP精品文档

相关文档