📄 main.c
字号:
#include <dlfcn.h>#include <stdio.h>int main(){ fprintf(stdout, "Press Enter key to load library... \n"); getchar(); // open the library fprintf(stdout, "Loading library libprint.so... \n"); void* handle = dlopen("./libprint.so", RTLD_LAZY); if (!handle) { fprintf(stderr, "Failed to open library: %s \n", dlerror()); exit(-1); } // load the symbol fprintf(stdout, "Loading symbol print_foo()... \n"); typedef void (*print_t) (); dlerror(); // reset error print_t pfoo = (print_t)dlsym(handle, "print_foo"); const char* dlsym_error = dlerror(); if (dlsym_error) { fprintf(stderr, "Failed to load symbol: %s \n", dlsym_error); dlclose(handle); exit(-1); } fprintf(stdout, "Calling print_foo()... \n"); pfoo(); fprintf(stdout, "Closing library... \n"); dlclose(handle); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -