
JNI技术指南:C/C++调用Java
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本书《JNI技术指南:C/C++调用Java》旨在深入浅出地讲解如何使用JNI(Java Native Interface)实现C/C++代码与Java程序间的交互,帮助开发者充分利用两种语言的优势。
I. 目录
1
II. Java与C/C++互相调用实例(姊妹篇之一)——Java调用C/C++
一、先制作一个系统中有的DLL文件(cpp给出的sdk接口)
二、JNI
1. 编写java文件
2. 生成.h头文件
3. 使用c/cpp实现这个头文件
三、测试
四、最后补充
III. Java与C/C++互相调用实例(姊妹篇之二)——C/C++调用Java
一、编写java代码
二、编译java代码
三、编写 C/C++ 代码
四、运行exe
IV. Java JNI 编程进阶
一、解决性能问题
二、解决本机平台接口调用问题
三、嵌入式开发应用(JNI小例子)
1. 新增一个基础类
2. 定义新类继承基础类
3. 编写调用类
4. 新增两个本地方法
5. 修改 RunMain 类
6. 新增一个方法处理java对象
7. 新增一个方法处理数组
8. 改写RunMain
四、参考资料
V. 使用Eclipse+CDT+MinGW进行Java调用C/C++
一、安装eclipse3.2。
二、安装MinGW。
1、下载MinGW
2、安装
三、设置环境变量
1、设置Path
2、设置C_INCLUDE_PATH
3、设置CPLUS_INCLUDE_PATH
四、做一个小技巧修改
五、安装CDT插件
六、简单介绍CDT的使用吧
1. 新建一个C++项目
2. 输入New Project名字
3. 给项目新建一个源文件
4. 接着出现文件添加窗口,在File Name栏写上文件名
5. 编辑hello.cpp
6. 添加编译命令
七、开始工作!
The Java side
1. 建立Java工程JavaHello,编写java类
2. 用命令生成头文件
The C side-Compiling the Library
1. 建立标准C工程Cpro,并生成dll文件
1) 将test_Hello.h拷贝到C工程Cpro下
2) 编写C类Hello.c,内容为:
3) 在C工程Cpro下建立hello.def文件(定义导出函数)
4) 在C工程Cpro下建立makefile文件,内容为:
5) Make Targets
6) 生成hello.o 文件。
7) 生成hello.dll 文件。
2、 JAVA调用DLL
1) 将hello.dll拷贝到JavaHello下。
2) 运行Hello.java,则可以看到输出结果:
3) 修改Hello.c为Hello.cpp
4)修改makefile内容
评论:
VI. C++如何调用java程序
DemoMain.java内容如:
采用vc6++ IDE,采用JNI技术实现。
1、 编译时
2、 运行时
程序的关键在于:
VII. JNI
一、定义
二、设计目的
三、书写步骤
1) 编写Java代码(以HelloWorld为例)。
2) 编译
3) 生成扩展名为h的头文件
4) 编写本地方法实现,与javah命令生成的头文件中声明的方法名相同。
5) 生成动态库
6) 运行程序 java HelloWorld就ok.
四、调用中考虑的问题
1)Java和C是如何互通的?
2)如何将Java传入的String参数转换为C中的char*,然后使用?
3)如何将C中获取的一个char* buffer传递给Java?
4)不知道占用多少空间的buffer,如何传递出去呢?
五、对JAVA传入数据处理
1) 如果是bytearray,则作如下处理得到buffer:
VIII. C/C++调用JAVA类
一、加载虚拟机:
二、获取指定对象的类定义:
三、获取要调用的方法:
四、调用Java类方法:
五、获得类属性的定义:
六、数组处理:
七、异常:
八、多线程调用
Java代码
命令行运行:javap -s -p MyTest ,输出:
C代码testjava.c:
编译:
运行结果:
全部评论 (0)


