C 语言有没有办法通过在 lib 下放置动态库文件来实现程序功能启用?
- 0次
- 2021-06-16 17:48:22
- idczone
比如说,在 lib 下放置 encryption.so ,程序对文件加密。如果没有这个文件,则直接跳过这部分。
dlopen
那不就是个插件系统?
1 楼的方法可以的。代码里去判断有没有这个库,有就打开它然后根据符号找到函数,没有就跳过去。。
具体点讲吧。
1. dlopen 加载动态库
2. dlsym 将库函数绑定至函数指针
3. 通过函数指针调用库
4. dlclose 关闭动态库
我去试一下