java上位机开发(c库调用)

本文介绍了Java如何通过JNI调用C库进行上位机开发。内容涉及C库调用的重要性、JNI的使用方法,以及一个显示调用C库方法HelloWorld的步骤,包括Java代码编写、生成头文件、CMake构建解决方案、编译DLL及最终运行验证的过程。此技术可应用于各种动态库,如opencv、plc、ffmpeg等。
摘要由CSDN通过智能技术生成

所有的动态语言,包括在java在内,一般都会提供一个调用c库的方法。java语言的出现是在上个世纪90年代,而c/c++出现的时间要更早一点,大约提前了20多年,所以在这过程当中积累了很多的资源可以调用。此外,由于c/c++可以直接控制硬件,可以直接加速算法的执行,所以作为上位机开发的同学来说,掌握好c库调用也是很有必要的。

c库调用的方法很多,比较常用的就是jni。jvm作为java虚拟机,调用class字节码,这个大家都了解。那字节码如果需要调用c库,一般会在java代码中有一个显示调用的过程,关键字是native。注意native是函数的名字,不是动态库的名字,动态库的名字一般用System.LoadLibrary来完成,也就是上述图中蓝色的部分。对于简单的动态库,只需要在浅绿色中实现即可。而对于opencv、plc、ffmpeg、jpeg、png这样成熟的动态库来说,浅绿色的部分就是一个翻译的过程,库本身还是原来黄色的部分。这就是绿色和黄色两个模块的区别。下面举例说明,

1、假设有一个java文件,需要调用一个显示HelloWorld的c方法,

public class HelloWorld {  
    public native void displayHelloWorld();
  
    static {  
        System.loadLibrary("HelloWorldImpl");
    }  
  
    public static void main(Str
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值