编译时间 编辑

用户使用编译程序对其个人编制的程序进行编译的过程称为程序编译。编译时间(compiling time) 指编译程序将源程序编译成目标程序所占用的时间。

定义

编辑
用户使用编译程序对其个人编制的源程序进行编译的过程称为程序编译。编译时间(compiling time) 指编译程序将源程序编译成目标程序所占用的时间。

减少时间

编辑
一是执行每日自动构建。每日自动构建的原理很简单:安装每日构建工具CCNET(不熟悉该工具的同学可以去搜索下)。然后在源码服务器上安装编译环境。源码服务器每天获取最新代码,每天下班后开始编译最新代码,经过一个晚上基本上就能把库和应用程序都编好,到了第二天开发人员只需下载最新的库文件和代码文件而不须自己重新编译。这样就能大大节省时间了。

二是使用联合编译器Incredibuild。这个工具估计大家都不陌生。最近试验了一个新想法,写一个批处理文件,将SVN和IncrediBuild绑在一起,实现了从源码更新到工程编译。

c++环境中:

1. 删除不必要的#include,替代办法 使用前向声明 (forward declared )

2. 删除不必要的一大堆私有成员变量,转而使用 “impl” 方法

3. 删除不必要的类之间的继承

命令语法

编辑
svnupinclude//更新服务器的include文件夹到本地

BuildConsoleD:\Code\MySolution.sln/prj="MyApp"/build/OpenMonitor/cfg="Debug|Win32"

BuildConsole是IncrediBuild的命令行工具

D:\Code\MySolution.sln是你的解决方案文件绝对路径

/prj参数设置你要编译的工程,如果你要编译多个工程,可以这样设置,/prj="prj1,prj2,prj3"

/prj参数也支持通配符,/prj="*"即为编译MySolution.sln下的所有工程

/build为编译工程,若改为/rebuild即是清理重编工程

/OpenMonitor为打开Incredibuild的图形化界面,去掉该参数则不出现图形界面

/cfg为编译设置选项,如要编release版本,可以改为Release|Win32

把上面的代码保存为BuildDebug.bat,把文件保存在D:\Code\路径下(即源码根目录,下面有include、src和vs三个文件夹),然后运行这个批处理文件就相当于把从更新源码到编译源码这一系列动作都执行了。

软件显示时间

编辑
__DATE__和__TIME__

例子:

char strASCIICompileProfile={0};

sprintf(strASCIICompileTime, "\nCompile time: %s %s", __DATE__, __TIME__);

可以做个菜单,显示这个内容,或者按某一个连续数字串时,显示它。

编译命令里,需要删除这个文件的O文件,重新编译,以保证显示的是编译时间。

+if exist ..\..\build\ms\SXNAAHZ\apptest.o del ..\..\build\ms\SXNAAHZ\apptest.o

下一篇 自动程序设计

上一篇 逻辑结构