C++动态链接库接口选择
陈硕在《C++工程实践经验谈》在二进制兼容性和避免使用虚函数作为库的接口两节中说到COM使用虚函数暴露接口的做法破坏了动态链接库的二进制兼容性 。
1. 为什么需要动态链接库
假设我们开发了一个图形库
我们要将我们的库发布出去无非有以下几种方式:
1) 源码:这种方式最直接,但是有两个比较明显的缺点:暴露了实现、对库的任何修改都需要用户重新编译。
2) 静态库:静态库不会暴露实现,但是同样需要重新编译
3) 动态链接库:
2. 解决二进制兼容性
ceshi
3. COM中的做法
4. 总结
番外篇(为什么我们需要接口继承)
白盒继承
黑盒继承
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步