
java调用C++的so包的接口
1、首选要把C++写的接口打成so包,so包以lib开头 如:libDecodeStream.so。
·
1、首选要把C++写的接口打成so包,so包以lib开头 如:libDecodeStream.so
2、新建一个java类继承Library(jna包)
public interface DecodeStreamLib extends Library {
DecodeStreamLib INSTANCE = Native.load("DecodeStream", DecodeStreamLib.class);
/**
* @brief Decode_SetLogLevel,设置日志级别
* @param level,范围0~4,分别代表:debug、info、warn、error、none共5个日志级别,
* none表示不输出任何日志
*/
void Decode_SetLogLevel(int level);
/**
* @brief Decode_Init, 解码动态库初始化设备环境,进程内调用一次
* @param aclConfigPath atlas 配置文件路径
* @return 错误码,见对应描述
*/
int Decode_Init(String aclConfigPath);
}
3、DecodeStreamLib 类中的 Native.load(“DecodeStream”, DecodeStreamLib.class)中DecodeStream就是对应这个so包,里面的方法对应C++的so包的接口,so包要放在java项目resources配置文件下面,这样就可以java调用C++的接口了
更多推荐
所有评论(0)