
正文
java中调用c代码 java 调用c
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
如何用java调用c语言写的函数?
1、可以看一下上面自动生成的程序,程序include了jni.h,这个头文件在 $JAVA_HOME下的include文件夹下. 还可以发现生成的函数名是在之前的函数名前面加上了Java_HelloNative。
2、它有一个关键字native,表明这个方法使用java以外的语言实现。方法不包括实现,因为我们要用c/c++语言实现它。
3、具体调用步骤如下:首先创建Java文件 HelloJni.java ,并创建native方法。编译Java文件并生成java头文件。创建C语言文件,HelloWorld.c。生成动态链接库文件 libhello.so。设置动态链接库文件的目录。
4、技术即,本地调用接口。可以将C、C++、VB等其他编程语言编制的程序代码封装成对用户不可见的底层class。而在java程序中仅声明其方法名和参数表以及返回值即可。大致的操作过程请百度 JNI 选择第一个搜索结果即可找到。
5、java被编译成字节码后由JVM解释执行,java要调用C语言写的程序,那么就必须通过JVM调用,java告诉JVM我要调用本地操作系统的那个程序段(如dll)并要求返回一个结果。
相关问答
Q1: 用Java怎么调用C语言已经编写好的DLL?
按win + r打开“运行”窗口,输入“cmd”,打开DOS控制台窗口。
1为了使c能调用c++写的dll。c++中使用extern c{ }修饰该接口即可 这个原因你应该知道吧大概意思是告诉c++编译器这段代码用c编译器编译 编译之后的结果是c方式的而不是c++方式的。2但是c中不识别extern c。
对于已生成的.h头文件,C/C++所需要做的,就是把它的各个方法具体的实现。然后编译连接成库文件即可。再把库文件拷贝到JAVA程序的路径下面,就可以用JAVA调用C/C++所实现的功能了。接上例子。
一般那种c#的dll是java不能直接调用的,但C\C++可以,你可以使用JNI。
不能。必须自己再写一个dll封装一次。因为java调用本地方法是有命名规则的,你们厂家提供的函数是掉不到的。
如果你愿意采用COM组件的方式,可以一试!JAVA有COM4Java的组件(我没记错的话)。
Q2: java怎么引用c
1、用javac testdll.java编译它,会生成testdll.class。再用javah testdll,则会在当前目录下生成testdll.h文件,这个文件需要被C/C++程序调用来生成所需的库文件。
2、它有一个关键字native,表明这个方法使用java以外的语言实现。方法不包括实现,因为我们要用c/c++语言实现它。
3、然后编译该JAVA程序文件,生成CLASS,再用JAVAH命令,JNI就会生成C/C++的头文件。
关于java中调用c代码和java 调用c的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







