
正文
c调用java代码,JAVA调用
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
C能不能调用Java程序?
通过这种技术,开发人员不一定要用命令行来启动Java程序,可以通过编写一个本地GUI程序直接启动Java程序,这样就可避免另外打开一个命令窗口,让开发的Java程序更加专业。
找到对应版本的jre,双击打开 单机bin目录,上方会出现路径名称,复制该路径名 在环境变量中粘贴复制过来的路径,确定保存即可。
从C/C++ 程序调用 Java 代码的四个步骤:编写 Java 代码。这个步骤包含编写一个或多个 Java 类,这些类实现(或调用其它方法实现)您想要访问的功能。编译 Java 代码。
C语言调用需要创建Java虚拟机,可查看函数JNI_CreateJavaVM、DestroyJavaVM的资料,函数声明在jni.h头文件(JDK)中。需注意参数类型转换,两种语言的参数类型和传递有讲究,有多个返回的话,必须传递对象参数进行处理。
加入LIB目录:C:\Program Files\Java\jdk0\lib 。会编译成exe文件。
相关问答
Q1: c调用java方法的时候CallObjectMethod这个方法一直错误,代码贴上
在CMD下运行javap -s -p -classpath c:\ test.Demo即可看到属性和方法的签名。如下图红色矩形框起来的字符串为方法String append(String str, int i)的签名。
是的,jni调用时, java和c是同个线程。检测方法:在java和c中分别把当前线程的id输出出来查看。
应该是没有问题的,jni是支持重载方法的,他是把重载方法转换成C语言的两个不同方法,方法名是不一样的。我怀疑你的问题是由于dll没有用最新的。
本地代码在调用Java方法之前必须先加载Java虚拟机,而后所有的Java程序都在虚拟机中执行。为了初始化Java虚拟机,JNI提供了一系列的接口函数Invocation API。通过这些API可以很方便地将虚拟机加载到内存中。
LOCAL_MODULE:=native LOCAL_SRC_FILES:=geolo.cpp my_jni.h include $(BUILD_SHARED_LIBRARY) geolo.cpp 先用FindClass方法找到java类,有点类似java的反射用LoadClass 再用CallObjectMethod方法调用Java类的函数。
Q2: C调用Java有哪些方法
编写 Java 代码。这个步骤包含编写一个或多个 Java 类,这些类实现(或调用其它方法实现)您想要访问的功能。编译 Java 代码。在能够使用这些 Java 类之前,必须成功地将它们编译成字节码。编写 C/C++ 代码。
C语言调用Java,还有Java调用C,都使用到JNI技术,C语言调用需要创建Java虚拟机,可查看函数JNI_CreateJavaVM、DestroyJavaVM的资料,函数声明在jni.h头文件(JDK)中。
c可以调用命令行,当然就能调用java。但是如果想和java对象直接交互,基本不可能。
main函数直接调用java.c中LoadClass方法装载该类。
如果命令行可以解决的问题,都不算问题。比如你可以在c语言中调用system(java -jar xxx.jar)当然,这种方法很坑爹。需要用文件或者网络来实现数据的传输和交换的介质。
Q3: 如何在C++和java之间互相调用
1、java 调用C++编写的dll,可使用JNI 或 Jawin 开源项目(推荐第二种方法)。C++ 调用java 的变量、方法,通过JNI (Java Native Interface)与java类交互。
2、具体调用步骤如下:首先创建Java文件 HelloJni.java ,并创建native方法。编译Java文件并生成java头文件。创建C语言文件,HelloWorld.c。生成动态链接库文件 libhello.so。设置动态链接库文件的目录。
3、编译 Java 代码。在能够使用这些 Java 类之前,必须成功地将它们编译成字节码。编写 C/C++ 代码。这个代码将创建和实例化 JVM,并调用正确的 Java 方法。运行本机 C/C++ 应用程序。
4、C语言调用Java,还有Java调用C,都使用到JNI技术,C语言调用需要创建Java虚拟机,可查看函数JNI_CreateJavaVM、DestroyJavaVM的资料,函数声明在jni.h头文件(JDK)中。
5、要在java中调用c语言的库,需要使用Java提供了JNI。
Q4: 如何在C/C++中调用Java
C语言调用Java,还有Java调用C,都使用到JNI技术,C语言调用需要创建Java虚拟机,可查看函数JNI_CreateJavaVM、DestroyJavaVM的资料,函数声明在jni.h头文件(JDK)中。
java 与 C++ 两种编程语言,它们之间的相互调用:java 调用C++编写的dll,可使用JNI 或 Jawin 开源项目(推荐第二种方法)。C++ 调用java 的变量、方法,通过JNI (Java Native Interface)与java类交互。
要在java中调用c语言的库,需要使用Java提供了JNI。
关于c调用java代码和JAVA调用的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







