溫馨提示×

Linux系統(tǒng)中dlsym函數的調用示例

小樊
82
2024-08-22 23:17:28
欄目: 智能運維

#include <stdio.h> #include <dlfcn.h>

int main() { void *handle; void (*function)(); char *error;

// 打開動態(tài)鏈接庫
handle = dlopen("libexample.so", RTLD_LAZY);
if (!handle) {
    fprintf(stderr, "%s\n", dlerror());
    return 1;
}

// 獲取動態(tài)鏈接庫中的函數指針
function = dlsym(handle, "example_function");
if ((error = dlerror()) != NULL) {
    fprintf(stderr, "%s\n", error);
    return 1;
}

// 調用函數
(*function)();

// 關閉動態(tài)鏈接庫
dlclose(handle);

return 0;

}

0