`
音频数据
  • 浏览: 35525 次
文章分类
社区版块
存档分类
最新评论

在C/C++中调用Java

 
阅读更多

Java跨平台的特性使Java越来越受拓荒人员的欢送,但也常常会听到不少的抱怨:用Java开发的图形用户窗口界面每次在提议的时候都会跳出一个控制台窗口,这个控制台窗口让原本颇为棒的界面失神不少。怎么能够让颠末Java启示的GUI程序不弹出Java的管教台窗口呢?

真实那时得多风行的开荒情况好比JBuilder、Eclipse都是使用纯Java开拓的集成情况。这些集成环境发动的时辰切实不会掀开一个饬令窗口,因为它使用了JNI(Java Native Interface)的技能。

颠末这类技术手段,斥地人员不不一定要用命令行来启动Java程序,可以经由编写一个外地GUI程序直接动员Java程序,多么即可避免其它掀开一个命令窗口,闪开拓的Java程序加倍专业。

JNI容许运行在假造机的Java程序能够与其它语言(例如C与C++)编写的程序大约类库发展相互间的挪用。同时JNI提供的一整套的API,批准将Java虚构机直接嵌入到本地的使用程序中。

本文将先容若何在C/C++中调用Java方法,并松散可能波及到的标题简介整个开发的顺叙及可能遇到的坚苦和打算方法。本文所采纳的器材是Sun公司创立的 Java Development Kit (JDK) 版本 1.3.1,以及微软公司的Visual C++ 6开辟状况。

情况搭建

为了让本文下列局部的代码能够正常工作,咱们必须建立一个完整的垦荒环境。首先重要下载并安设JDK 1.3.1,其下载地点为“http://java.sun.com”。假设安设门路为C:JDK。下一步就是设置装备摆设集成启迪状况,通过Visual C++ 6的菜单Tools→Options翻开选项对话框。

将目次C:JDKinclude与C:JDKincludewin32加入到拓荒情况的Include Files目录中,同时将C:JDKlib目录增长到垦荒情况的Library Files目次中。这三个目录是JNI界说的一些常量、布局及方式的头文件和库文件。集成开荒状况也曾设置竣事,同时为了执道路序需要把Java编造机所用到的动态链接库所在的目录C:JDK jreinclassic配置到零碎的Path环境变量中。

这里需要提出的是,某些开拓职员为了方便直接将JRE所用到的DLL文件直接拷贝到琐细目录下。如许做是不可的,将导致初始化Java伪造机状况失利(返回值-1),启事是Java虚拟机因此相对于路径来找寻所用到的库文件与其它一些关系文件的。

分享到:
评论

相关推荐

    在 C/C++ 中调用 Java

    从 C/C++ 中调用 Java 代码,有一下几个步骤: 1.创建 JVM。调用 JNI_CreateJavaVM()。 2.寻找要调用的类。调用 FindClass()。 3.找到要调用的方法。调用 GetStaticMethodID()/GetMethodID()。 4.运行方法。...

    如何在C/C++中调用Java

    JNI允许运行在虚拟机的Java程序能够与其它语言(例如C和C++)编写的程序或者类库进行相互间的调用。同时JNI提供的一整套的API,允许将Java虚拟机直接嵌入到本地的应用程序中。图1是Sun站点上对JNI的基本结构的描述

    Android中C/C++调用Java代码

    Android中C/C++调用Java代码

    JNI技术手册 c/c++调用java

    VIII. C/C++调用JAVA类 58 一、 加载虚拟机: 59 二、 获取指定对象的类定义: 59 三、 获取要调用的方法: 59 四、 调用JAVA类方法: 60 五、 获得类属性的定义: 60 六、 数组处理: 60 七、 异常: 60 八、 多线程...

    c/c++调用java方法

    详细请见文档说明c/c++调用java方法

    在C或C++中调用JAVA方法

    本文将介绍如何在C/C++中调用JAVA方法并将其间可能涉及到的问题串在一起介绍整个开发的步骤以及可能遇到的难题和解决方法。本文所采用的工具是Sun Microsystems 公司创建的 Java Development Kit (JDK) 版本 1.3.1...

    android studio项目java C/C++ 相互调用

    一个C/C++ 代码调用 java 变量、方法、成员变量的Demo

    JNI实现C/C++与Android/JAVA相互调用

    Android JNI/NDK开发(2)JNI实现C/C++与Android/JAVA相互调用 http://blog.csdn.net/u014702653/article/details/71141423

    JNI实现java cpp相互调用

    C/C++中访问Java方法 C/C++中访问Java父类的方法 C/C++中访问/修改Java变量 Java中访问C/C++方法 Java中访问/修改C/C++变量 动态方式实现: C/C++中访问Java方法 C/C++中访问Java父类的方法 C/C++中访问/修改Java...

    JNI 教程 java与c/c++互相调用

    本教程主要讲解java中如何调用C/C++,C/C++中如何调用java,并带Demo和调试指南

    java调用C/C++全过程

    java调用C/C++全过程 JAVA以其跨平台的特性深受人们喜爱,而又正由于它的跨平台的目的,使得它和本地机器的各种内部联系变得很少,约束了它的功能。解决JAVA对本地操作的一种方法就是JNI。  JAVA通过JNI调用本地...

    JNI开发Java和C/C++互相传递List集合

    JNI开发Java和C/C++互相传递List集合, 可以参考: Java从C/C++获取List集合对象:https://blog.csdn.net/niuba123456/article/details/80994166 Java传递List集合对象到C/C++ ...

    testjni.rar_C 调用java_JNI c++ 调用java

    简单的通过jni在C/C++中调用Java的例子

    jni java调用c/c++

    通过jni完成java调用c/c++,包含c/c++生成Dll动态库

    ndk源码基于eclipse开发c/c++/java

    基于Eclipse开发NDK ,开发C ,C++ 和 Java的源码,可以查看Java调用c/c++, 和c/c++调用Java的内容

    C++调用java方式

    c/c++调用java,这个是混合编程实例

    使用JNI进行混合编程:在Java中调用C/C++本地库

    NULL 博文链接:https://conkeyn.iteye.com/blog/1597188

    java调用C和C++

     JAVA通过JNI调用本地方法,而本地方法是以库文件的形式存放的(在WINDOWS平台上是DLL文件形式,在UNIX机器上是SO文件形式)。通过调用本地的库文件的内部方法,使JAVA可以实现和本地机器的紧密联系,调用系统级的...

Global site tag (gtag.js) - Google Analytics