C++与Java混合编程.docx
《C++与Java混合编程.docx》由会员分享,可在线阅读,更多相关《C++与Java混合编程.docx(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C+与Java混合编程作者:赖锋下载源代码现在的程序员,不再像以前一样,掌握一种编程语言就可以混得有模有样了,现实的情况是,真实的项目中,通常是涉及多种编程语言,举几个简单的例子,一个软件为了快速开发,可能是使用Delphi或VB作为界面开发首选语言,底层的指令或核心算法,会使用C/C+处理,涉及数据处理的时候,为了安全和快速开发,会使用Javascript或Python等脚本语言实现数据分析处理。因此,开发者应该学习或掌握语言混合编程。 C+和Java是主流的两种编程语言,但是现在整个网上对实现这两种语言混合编程的资料少之又少,却又说之不全,并且有时多种问题现在也含糊不清,对正在学习或使用这
2、两种语言的朋友造成很大的困扰。本人的这篇拙作,希望对使用这两种语言混合编程学习的朋友可以抛砖引玉。实现原理实现Java和C+的交互,使用的技术是称为JNI( Java Native Interface ),C+编写的程序,只要实现JNI生成的接口,则可以让Java程序调用,而Java编写的程序,C+调用,则需要运行Java虚拟机,通过JNI查询调用Java实现的方法。 环境变量设置本文中使用的Java的版本是( build 1.6.0_03-b05 ),C+的版本为VC+ 6.0版本。并根据你本机上的Java和C+安装目录设置以下的环境变量注意不要缺少Java的include和lib这三个红线
3、标出部分(为源码包文件中的cpp-env.Bat这个批处理文件)。 设置Java的环境变量,如下图所示 注意红线标注的这处部分,这部分与C+调用Java的方法时候影响非常重要(为源码包文件中的java-env.Bat这个批处理文件)。 在command模式运行这两个批处理文件后,就可以在command模式运行demo程序了。 Java调用C+的方法 源码文件中 %SRC%/Java-cpp目录中的WinFile.java的这个文件(Java语法规定类名与文件名必须一致),定义了一个WinFile类,这个类的内容如下 在代码的第18行,声明一个带native属性的方法GetFilesFromDi
4、r,这个方法传入一个字符类参数,并返回一个字符类参数,而System.loadLibrary则会加载指定的共享链接库,参数所示加载的动态库为libwinfile.dll,在windows平台上,执行时会自动加入后缀.dll。 在command模式运行以下命令: 第一条命令则会生成WinFile.class的编译文件,而第二条命令则会生成WinFile.h这个头文件,这个头文件包含了WinFile.java中的native的方法的C/C+语言的定义。 在C/C+的语言定中,Java语言的String的定义为jstring,注意,Java的语言的字符与程序的编码都是以UTF-8编码实现的,所以Ja
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ Java 混合 编程
限制150内