C++动态链接库接口选择

 

陈硕在《C++工程实践经验谈》在二进制兼容性避免使用虚函数作为库的接口两节中说到COM使用虚函数暴露接口的做法破坏了动态链接库的二进制兼容性 。

1. 为什么需要动态链接库

假设我们开发了一个图形库

我们要将我们的库发布出去无非有以下几种方式:

1) 源码:这种方式最直接,但是有两个比较明显的缺点:暴露了实现、对库的任何修改都需要用户重新编译。

2) 静态库:静态库不会暴露实现,但是同样需要重新编译

3) 动态链接库:

2. 解决二进制兼容性

ceshi

3. COM中的做法

4. 总结

番外篇(为什么我们需要接口继承)

白盒继承

黑盒继承

posted @ 2013-10-21 14:31  Echo.Zhao  阅读(727)  评论(0编辑  收藏  举报