欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

加载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.关闭句柄。

 

相关标签: .so