下载此文档

CC 中调用Java.doc


文档分类:IT计算机 | 页数:约15页 举报非法文档有奖
1/15
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/15 下载此文档
文档列表 文档介绍
如何在C/C++中调用Java
减小字体增大字体作者:佚名  来源:本站整理  发布时间:2010-02-15 22:34:40
瓦宝设计为你提供网站制作全面的教程,
Java跨平台的特性使Java越来越受开发人员的欢迎,但也往往会听到不少的抱怨:用Java开发的图形用户窗口界面每次在启动的时候都会跳出①个控制台窗口,这个控制台窗口让本来非常棒的界面失色不少。怎么能够让通过Java开发的GUI程序不弹出Java的控制台窗口呢?其实现在很多流行的开发环境例如JBuilder、Eclipse都是使用纯Java开发的集成环境。这些集成环境启动的时候并不会打开①个命令窗口,因为它使用了JNI(Java Native Interface)的技术。通过这种技术,开发人员不①定要用命令行来启动Java程序,可以通过编写①个本地GUI程序直接启动Java程序,这样就可避免另外打开①个命令窗口,让开发的Java程序更加专业。
JNI答应运行在虚拟机的Java程序能够与其它语言(例如C和C++)编写的程序或者类库进行相互间的调用。同时JNI提供的①整套的API,答应将Java虚拟机直接嵌入到本地的应用程序中。图1是Sun站点上对JNI的基本结构的描述。
图1 JNI基本结构描述图
本文将介绍如何在C/C++中调用Java方法,并结合可能涉及到的问题介绍整个开发的步骤及可能碰到的难题和解决方法。本文所采用的工具是Sun公司创建的 Java Development Kit (JDK) 版本 ,以及微软公司的Visual C++ 6开发环境。
环境搭建
为了让本文以下部分的代玛能够正常工作,我们必须建立①个完整的开发环境。首先需要下载并安装JDK ,其下载地址为“http://java.”。假设安装路径为C:\JDK。下①步就是设置集成开发环境,通过Visual C++ 6的菜单Tools→Options打开选项对话框如图2。
图2 设置集成开发环境图
将目录C:\JDK\include和C:\JDK\include\win32加入到开发环境的Include Files目录中,同时将C:\JDK\lib目录添加到开发环境的Library Files目录中。这③个目录是JNI定义的①些常量、结构及方法的头文件和库文件。集成开发环境已经设置完毕,同时为了执行程序需要把Java虚拟机所用到的动态链接库所在的目录C:\JDK \jre\bin\classic设置到系统的Path环境変量中。这里需要提出的是,某些开发人员为了方便直接将JRE所用到的DLL文件直接拷贝到系统目录下。这样做是不行的,将导致初始化Java虚拟机环境失败(返回值-1),原因是Java虚拟机是以相对路径来寻找所用到的库文件和其它①些相关文件的。至此整个JNI的开发环境设置完毕,为了让此次JNI旅程能够顺利进行,还必须先预备①个Java类。在这个类中将用到Java中几乎所有有代表性的属性及方法,如静态方法与属性、数组、异常抛出与捕捉等。我们定义的Java程序()如下,本文中所有的代玛演示都将基于该Java程序,代玛如下:
package ; /** * 该类是为了演示JNI如何访问各种对像属性等* ***@author liudong */ public class Demo { //用于演示如何访问静态的基本类型属性 public static int COUNT = 8; //演示对像型属性 public String msg; private int[] counts; public Demo() { this("缺省构造函数"); } /** * 演示如何访问构造器*/ public Demo(String msg) { (":" + msg); = msg; = null; } /** * 该方法演示如何访问①个访问以及中文字符的处理*/ public String getMessage() { return msg; } /** * 演示数组对像的访问*/ public int[] getCounts() { return counts; } /** * 演示如何构造①个数组对像*/ public void setCounts(int[] counts) { = counts; } /** * 演示异常的捕捉*/ public void throwExcp() throws essException { throw new essException("exception occur."); } }
初始化

CC 中调用Java 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数15
  • 收藏数0 收藏
  • 顶次数0
  • 上传人rjmy2261
  • 文件大小550 KB
  • 时间2018-05-28