读书频道 > 网站 > 网页设计 > 大规模C++程序设计
0.2.2 过度的链接时依赖
15-04-24    下载编辑
收藏    我要投稿   

本文所属图书 > 大规模C++程序设计

《大规模C++程序设计》由世界级软件开发大师John Lakos亲笔撰写,是C++程序设计领域最有影响力的著作之一。作者结合自己多年从事大规模C++项目的开发经验,详细介绍了大规模C++程序设计涉及的一系列概念、理论、立即去当当网订购

如果你试图在一个库中链接少量的功能,同时发现链接时间的增加与你获得的收益不成比例,你也许尝试过重用重量级组件而不是轻量级组件。

对象的好处之一是在需要时很容易添加丢失的功能。面向对象范型这种几乎诱人的特性让许多一丝不苟的开发人员把高效、考虑完善的类转换成具有大量代码的“庞大恐龙”——绝大多数客户端没有使用大部分的类。图0-2描述了当允许一个简单的String类中的功能增长到满足所有客户端需求时,可能会发生的情况。每次为一个客户端添加一个新的特性,这潜在地增加了其余用户在实例规模、代码长度、运行时间以及物理依赖等方面的开销。

C++程序通常比实际所需要的大得多。如果不慎重处理,C++程序的可执行规模可能比用C所编写的等效程序要大很多。忽略外部依赖不计,过分雄心勃勃的类开发者创建了一些复杂的类,这些类直接或间接依赖于数量庞大的代码。应用特别细致的String类编写的“Hello World”程序,竟然产生了1.2MB的可执行文件长度。

像String类这种超重类型,不仅增加了可执行文件的长度而且使得链接过程十分缓慢而痛苦。如果链接String所需时间(连同它的所有实现依赖的时间)相比链接子系统花费在其他方面的时间要长,那么你就不可能费尽心思地去重用String了。

幸好,避免各种形式的不必要链接时依赖的技术出现了。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站