您好,欢迎光临本网站![请登录][注册会员]  
文件名称: JNI经典教程
  所属分类: Android
  开发工具:
  文件大小: 1mb
  下载次数: 0
  上传时间: 2012-08-01
  提 供 者: c_we****
 详细说明: I. 目录........................................................................................................................................... 1 II. JAVA C/CPP 互相调用实例(姊妹篇之一)——JAVA调用C/CPP.................................... 4 一 先制作一个系统中有的 DLL 文件(CPP 给出的SDK接口).................................................. 4 二 JNI............................................................................................................................................ 7 1、 编写java 文件 .............................................. ................................................................. 7 2、 生成.h 头文件 ................................................................................................................ 8 3、 用c/cpp实现这个头文件 .............................................................................................. 9 三 测试........................................................................................................................................ 10 四 最后补充................................................................................................................................ 11 III. JAVA C/CPP 互相调用实例(姊妹篇之二)——C/CPP 调用JAVA.............................. 11 一、 编写JAVA代码.................................................................................................................. 12 二、 编译JAVA 代码................................................................................................................ 12 三、 编写 C/C++ 代码............................................................................................................ 13 四、 运行EXE .......................................................................................................................... 18 IV. JAVA JNI 编程进阶........................................................................................................... 18 一、 解决性能问题 .................................................................................................................. 18 二、 解决本机平台接口调用问题 ........................................................................................... 19 三、 嵌入式开发应用(JNI小例子 ).......................................................................................... 20 1、 新增一个基础类 .......................................................................................................... 22 2、 定义新类继承基础类 .................................................................................................. 23 3、 编写调用类.................................................................................................................. 23 4、 新增两个本地方法 ...................................................................................................... 24 5、 修改 RunMain 类....................................................................................................... 25 6、 新增一个方法处理 java 对象...................................................................................... 26 7、 新增一个方法处理数组............................................................................................... 29 8、 改写RunMain.............................................................................................................. 32 四、 参考资料:...................................................................................................................... 33 V. ECLIPSE+CDT+MINGW 进行JAVA 调用C/C++ .......................................................... 34 一、 安装ECLIPSE 3.2。............................................................................................................ 34 二、 安装MINGW。............................................................................................................... 34 1、 下载MinGW ................................................................................................................ 34 2、 安装............................................................................................................................. 34 3、 安装版本..................................................................................................................... 34 4、 选择安装的编译器 ...................................................................................................... 34 5、 选择安装路径,下一步............................................................................................... 35 6、 等待下载软件 .............................................................................................................. 35 三、 MINGW 的环境变量设置................................................................................................ 35 2 1、 设置Path..................................................................................................................... 35 2、 设置C_INCLUDE_PATH............................................................................................. 35 3、 设置CPLUS_INCLUDE_PATH.................................................................................... 35 四、 做一个小技巧修改 .......................................................................................................... 35 五、 安装CDT插件................................................................................................................ 36 1、 下载CDT 插件............................................................................................................ 36 2、 安装CDT 插件............................................................................................................ 36 六、 简单介绍CDT的使用吧 ................................................................................................. 36 1、 新建一个C++项目 ..................................................................................................... 36 2、 输入New Project 名字................................................................................................. 36 3、 给项目新建一个的源文件 ........................................................................................... 36 4、 接着出现文件添加的窗口,在 File Name栏里面写上文件名 ................................... 36 5、 编辑hello.cpp .............................................................................................................. 37 6、 添加一个编译命令 ...................................................................................................... 37 七、 让我们开始进入真正的工作吧!.................................................................................... 38 The Java side............................................................................................................................ 38 1、 建立Java 工程JavaHello,编写java 类.................................................................... 38 2、 用命令生成头文件 ...................................................................................................... 38 The C side-Compiling the Library .......................................................................................... 40 1、 建立标准C 工程Cpro,并生成 dll文件.................................................................... 40 1) 将生成的头文件 test_Hello.h 拷贝到 C 工程Cpro 下........................................................... 40 2) 编写C 类Hello.c ,内容为:................................................................................................ 40 3) 在C 工程Cpro下建立hello.def 文件(用于定义导出的函数),内容为:......................... 40 4) 在C 工程Cpro下建立makefile文件,内容为: ................................................................ 40 5) Make Targets ......................................................................................................................... 40 6) Make Targets视图下双击 step1,在C 工程Cpro 下生成hello.o 文件。............................. 41 7) Make Targets视图下双击 step1,在C 工程Cpro 下生成hello.dll 文件。 .......................... 41 2、 JAVA调用DLL ............................................................................................................ 41 1) 将hello.dll 拷贝到 Java 工程JavaHello 下。........................................................................ 41 2) 运行Hello.java,则可以看到输出结果:............................................................................. 41 1) 将Hello.c 改为Hello.cpp ...................................................................................................... 41 2) 将makefile内容改为: ........................................................................................................ 41 3) 其他的几乎都不用改变也可以。......................................................................................... 42 评论:............................................................................................................................................ 42 VI. C++ 如何调用JAVA 程序.................................................................................................... 51 DEMOM AIN . JAVA 内容如:.......................................................................................................... 51 采用VC6++ IDE ,采用JNI 技术实现。 ..................................................................................... 51 1、 编译时......................................................................................................................... 51 2、 运行时......................................................................................................................... 51 程序的关键在.............................................................................................................................. 53 VII. JNI ...................................................................................................................................... 53 一、 定义................................................................................................................................. 53 二、 设计目的......................................................................................................................... 54 3 三、 书写步骤......................................................................................................................... 54 1) 编写java 程序:这里以HelloWorld 为例。.................................................................... 54 2) 编译.................................................................................................................................... 55 3) 生成扩展名为 h 的头文件 ................................................................................................. 55 4) 编写本地方法实现和由 javah 命令生成的头文件里面声明的方法名相同的方法。....... 56 5) 生成动态库 ........................................................................................................................ 56 6) 运行程序 java HelloWorld 就ok...................................................................................... 56 四、 调用中考虑的问题 .......................................................................................................... 56 1) java 和c 是如何互通的?............................................................................................... 57 2) 如何将java 传入的String 参数转换为 c 的char*,然后使用? .................................... 57 3) 将c 中获取的一个char*的buffer 传递给java ?.......................................................... 57 4) 不知道占用多少空间的 buffer,如何传递出去呢? ...................................................... 58 五、 对JAVA 传入数据的处理................................................................................................ 58 1) 如果传入的是 bytearray的话,作如下处理得到 buffer:............................................ 58 VIII. C/C++ 调用JAVA 类....................................................................................................... 58 一、 加载虚拟机: .................................................................................................................. 59 二、 获取指定对象的类定义:................................................................................................. 59 三、 获取要调用的方法: ...................................................................................................... 59 四、 调用JAVA类方法:........................................................................................................ 60 五、 获得类属性的定义: ...................................................................................................... 60 六、 数组处理:...................................................................................................................... 60 七、 异常:............................................................................................................................. 60 八、 多线程调用...................................................................................................................... 61 JAVA 代码..................................................................................................................................... 61 命令行运行:JAVAP - S -P M Y T EST , 输出:................................................................................... 62 C 代码TESTJAVA . C:.................................................................................................................... 62 编译:......................................................................................................................................... 65 运行结果:.................................................................................................................................. 65 ...展开收缩
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 相关搜索: JNI经典教程
 输入关键字,在本站1000多万海量源码库中尽情搜索: