C++程序的编译

来源:互联网 发布:stm32软件定时器 编辑:程序博客网 时间:2024/06/06 05:23

 C++程序的编译
    C++程序员经常碰到以下两个问题:
  (1)随着系统越来越大,编译越来越慢
  (2)程序莫名其妙的崩溃,rebuild all 以后正常。
  
  如何正确,快速地编译程序呢?这个问题太复杂了。这里只简单地说两点。
  (1)GOF的设计原则:面向接口编程,而不是面向实现编程。
   不要把上述的两个问题怪罪于你的 IDE,它归根结底很可能是以下原因:模块不清晰,接口不明确。因为如果你修改了一个头文件中的类的数据结构,则所有包含该文件的实现文件必须重新编译。而这个头文件如果又包含在其它头文件中,那就只有 rebuild all 。
   一个Java 高手总是言必谈设计模式,好象C++程序员在这一方面欠缺一些。要做到模块清晰与接口分离,设计模式的应用是必不可少的。详细的就不说了,有很多书都说到这个。个人经验:( i ) 尝试DDT(测试驱动开发),它强迫你将程序模块化。( ii ) 使用一个自动化的内存管理设施,如boost::shared_ptr,甚至一个gc,可以减轻对象管理的负担。
  (2)关于预编译头文件。
  预编译头文件是在Visual C++中广泛使用的一个技术 (经常见到的stdafx.h),用于加速编译。但使用不当,反而会使编译更慢。它还会引起一些其它的问题,比如违背了设计原则。一位C++牛人甚至说,预编译头文件是万恶之源。虽然有些夸张,但至少告诉我们,应该小心地使用这个东西。

 

本文来源:www.yiyanys.com异眼影视

                  www.gdgek.com怪客影院

原创粉丝点击