dlfcn.h

主要用于在运行时进行动态链接和加载共享库。

dlopen

用于打开一个共享库文件,并返回一个句柄以供后续操作。

  • void *dlopen(const char *filename, int flag)
    • filename:共享库的路径(可以是绝对路径或相对路径)。
    • flag:控制加载行为的标志,例如 RTLD_LAZY 或 RTLD_NOW。

dlsym

用于查找并返回共享库中的符号地址,通常用于查找函数或全局变量。

  • void *dlsym(void *handle, const char *symbol)
    • handle:由 dlopen 返回的句柄。
    • symbol:要查找的符号名称。

dlclose

用于关闭由 dlopen 打开的共享库并释放资源。

  • int dlclose(void *handle)
    • handle:由 dlopen 返回的句柄。

dlerror

用于获取最后一个动态链接操作的错误信息。

  • char *dlerror(void)
    返回值:返回一个指向错误信息字符串的指针,如果没有错误则返回 NULL。