dlmode C语言动态库加载示例
C 语言的运行时加载玩法,dlmode是个蛮不错的参考代码。用起来挺简单,逻辑也不绕,适合你想快速搞清楚动态库是怎么被程序在运行时调用的,尤其是在 Linux 下。源码干净,没啥花哨的东西,调试看一眼基本就懂了。
运行时动态加载的核心就是绕过编译期链接,到了程序跑的时候再按需加载,比如dlopen
和dlsym
这些函数,dlmode这段代码里都有用到。如果你写插件架构,或者要做跨平台的 C 模块,这类思路就有用。
哦对了,如果你还没玩过动态库,建议可以看看这些相关的文章:
- C 运行时动态库:讲得还行,图文结合。
- Linux 加载失败怎么搞:有坑的时候,查这个蛮方便。
- JNI 动态加载:做 Android JNI 时也用得上。
- 动态调用 DLL MFC:Windows 下的玩法也有讲。
如果你平时搞 C 开发,又想让项目更灵活点,dlmode这份代码挺值得拿来研究下的。别忘了测试环境也要对,比如路径别写死,依赖的库提前装好,不然运行时还是容易踩坑。
下载地址
用户评论