
正文
c调用java代码 c 调用java
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
如何在C/C++中调用Java
比如你可以在c语言中调用system(java -jar xxx.jar)当然,这种方法很坑爹。需要用文件或者网络来实现数据的传输和交换的介质。
Java端可以做成网络服务,方法就很多了,可以是RESTful形式、基于SOAP的WebService、或者用Netty等。C/C++端可以通过开源库libcurl调用RESTful形式的接口、可以通过gSoap调用基于SOAP的WebService接口。
C语言调用Java,还有Java调用C,都使用到JNI技术,C语言调用需要创建Java虚拟机,可查看函数JNI_CreateJavaVM、DestroyJavaVM的资料,函数声明在jni.h头文件(JDK)中。
B项目发布一个webservice服务,提供相关的功能。A项目调用B发布的webservice服务即可。
相关问答
Q1: 写一段java代码,调用c程序,都有什么办法
1、要在java中调用c语言的库c调用java代码,需要使用Java提供了JNI。
2、具体调用步骤如下c调用java代码:首先创建Java文件 HelloJni.java ,并创建native方法。编译Java文件并生成java头文件。创建C语言文件,HelloWorld.c。生成动态链接库文件 libhello.so。设置动态链接库文件的目录。
3、它有一个关键字native,表明这个方法使用java以外的语言实现。方法不包括实现,因为我们要用c/c++语言实现它。
4、JAVA中所需要做的工作 在JAVA程序中,首先需要在类中声明所调用的库名称,如下:在这里,库的扩展名字可以不用写出来,究竟是DLL还是SO,由系统自己判断。 还需要对将要调用的方法做本地声明,关键字为native。
Q2: 请教JNI编程中C调用Java实现中NullPointerException问题
1、java.lang.NullPointerException具体意思是空指针异常,最常见的问题就是没有初始化。
2、是没有指针,但是这个错误说的是你的对象为null了,也就是说你没有创建对象就使用这个对象了,这时就会报这个错误,比如:A a;a.getUser();此时就是空指针异常。
3、Simulation Exception: The given value is less than 0.);这句代码我没用过,不知道是你自己写的还是封装的,调试嘛,多试几下。假如添加1是成功了。
4、这个是空指针异常,空指针的解决办法: 重点关注报错发生的所在行,通过空指针异常产生的两条主要原因诊断具体的错误。同时为了避免空指针的发生,最好在做判断处理时将“null”或者空值放于设定的值之前。
关于c调用java代码和c 调用java的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







