上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
3.3 程序库
程序库(Library)是由具体的语言实现提供的,它使用语言本身的基本构造开发而成。可重用的库不仅是“软件重用”思想的体现,也是“面向对象编程”的目标之一。语言与库的关系在前面几节里已经讨论了很多。
库的例子有很多,例如,只要你使用C++/C编程就必然会用到的C Runtime Library及STL等。现在主流的C++实现及其集成开发环境(IDE)大都提供了不止一个库,除了C++标准库(包括I/O和STL等)外,它们的开发商还提供了支持可视化事件驱动编程的类库,如MFC、OWL、VCL等,这几种库并不冲突,可以同时使用。此外还有一些第三方开发的程序库和类库,如果它们和其他库一起使用,就要考虑是否存在二进制兼容性问题。
一般说来库是可替换的,即你可以安全地把IDE的默认库卸载,然后安装另一个库,应该也可以正常工作。对于以源代码形式提供的库,必须使用当前的编译器对其重新编译;如果是二进制级的库,除非它的开发商保证该库的实现与IDE的默认库是二进制兼容的,否则不能使用。
【规则3-1】: 尽量采用标准库中提供的函数和类来编程,而不要创建自制的版本。这不仅可以提高开发效率和程序的性能,而且可以改善程序的可移植性。因为这些库不仅是每一个语言实现必须提供的,而且它们经过精心的设计、调试和测试,可以保证高效而正确地执行。