c/c++
直接使用动态库 dlopen
把各个版本编译成动态库,xx.so ,提供统一的接口进行调用。这里使用的工
具是 dlxx 系列函数
dlopen void *dlopen(const char *filename, int flag); 装载动态
库
dlcloseint dlclose(void *handle);
dlerrorchar *dlerror(void);返回可读字符串
dladdr
dlsymvoid *dlsym(void *handle, const char *symbol);
dlvsym
例子
#include <stdio.h>
#include <stdlib.h>
#include <dlfcn.h>
//gcc flag
// gcc t_dlopen.c -ldl
int
main(int argc, char **argv)
{
void *handle;
double (*cosine)(double);
char *error;
handle = dlopen("libm.so", RTLD_LAZY);
if (!handle
) {