通过JNI对C++进行封装

3 篇文章 0 订阅
1 篇文章 0 订阅

对目前的进展做一下记录

Windows下的C++库移植出现了众多问题,其中最为棘手的就是Windows下的微软C++函数库的处理,由于产品部门早期并没有考虑到国产化代码移植这一块,所以在代码中使用了众多的微软C++库,目前遇到的两座大山分别是Windows下的OleAuto.dll和conutil.dll,这两个库必须在Linux下自行实现,目前没有比较合适的技术路线可以选择,只能硬着头皮上,后续会更新这两个库的升级进展

目前web端需要的是Java接口,我们采用了JNI来进行C++层面的封装,技术路线已经走通,后续会上传最新的代码以供学习使用,这里整理遇到的两个致命问题

1.找不到C++库,问题描述为”no xxx in java.library.path“
解决方案简单粗暴,把生成的so放在java.library.path所包含的路径下即可,由于工程代码编译之后生成的库较多,因此需要修改java.library.path中的路径,目前没有合适的技术方案可以实施,可以通过Java代码对java.library.path进行输出查看java.library.path所包含的路径,其中一个是/usr/lib/,我也是把so放在了这里
2.找不到本地函数,问题描述为”no xxx V“
解决方案为
Java中System.loadLibrary(”libraryName“)中的libraryName为JNI代码生成的so库,并非底层C++代码库,因此找不到本地函数的实现也是情理之中,后续会上传代码

提一下这边的总体路线:
C++底层函数库->JNI层函数库->Java层函数库->上传到服务器生成Web端微服务->供Web端进行调用
小组遇到的技术难点为微软C++函数库编译(需要自行实现)、JNI层封装(下周会进行讲座进行新技能汇报)
以上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值