加载so文件
程序员文章站
2022-06-09 17:02:21
...
拿到.so文档, 7个步骤完成。文中“SPEC_Identify”为so文档中的接口函数名。
/**
*描述: 打开动态库。
*参数: dllPath .so路径
*参数: RTLD_LAZY dlopen函数宏
*/
hGetProcIdDLL = dlopen(dllPath, RTLD_LAZY); //0.打开动态库,拿到句柄。
dlerror();//错误信息
/**
*描述: 验证端口作为嵌入式光谱仪,并提供固件信息。
*参数: port_number 参考调用{光谱仪连接的端口(e.g. COM4 in windows, ttyUSB0 in Linux,etc.)}
*参数: baudrate_or_mode 按值调用{连接或识别分光计波特率的波特率(参见 3、常量)}
*参数: firmware 参考调用{保持Insion分光计固件信息的指针}
*/
typedef int(*SPEC_Identify)(char *port_number, int baudrate_or_mode, char *firmware); //1.定义类型
SPEC_Identify dll_identify_spectrometer=NULL; //2.声明类型变量
dll_identify_spectrometer= (SPEC_Identify) dlsym( hGetProcIDDLL, "SPEC_Identify"); //3.给类型变量赋值。
int ret = dll_identify_spectrometer(ports[i], 115200, firmware); //4.传入传入参数调用。
dlclose(hGetProcIdDLL); //5.关闭句柄。
上一篇: 按钮—按钮点击特效