当我们需要使用外部的库(比如XML处理、正则等),除了编译的时候连接该哭外,也可以打开.so的库获取函数地址,传入参数,来调用外部库的函数。
后一种方式可以在程序中用一个统一的结构体来管理。
比如动态库a中有这样一个函数:
extern "C" int QueryResVal(int ClientHandle);
目标:我们通过文档知道该函数作用,需要用到我们自己的程序中。
首先在头文件中定义一个结构体:
typedef int (*QueryResVal)(int ClientHandle);//注意我们自己使用的时候是地址,要带星号
typedef struct _playback_func
{
QueryResVal f_query_res_val
int is_init;