2010-04-13 44 views
4

我想我知道构建是什么。但我不确定。我编译的定义是说编译应用程序的另一个词。有人可以告诉我什么是一个构建。为什么人们要求3种类型的构建。比如Debug Build,Profile Build和Release Build。有什么区别。了解构建C++

[编辑] 的类型,建立

+0

“为什么人们要求2种构建类型,如Debug Build,Profile Build和Release Build”:这些看起来像3种类型...... – 2010-04-13 05:40:53

回答

6

看一看Visual Studio Debug and Release Modes

释放模式

当组件内置在释放模式中,编译器执行所有可用的优化技术,确保输出的可执行文件和库,有效地执行越好。这种模式应该用于已发布给最终用户的完整和经过测试的软件。发布模式的缺点是,虽然生成的代码通常更快,更小,但调试工具无法访问。

调试模式

调试模式下使用而开发的软件。当程序集以调试模式编译时,嵌入了额外的符号信息,代码没有优化。这意味着编译器的输出通常更大,更慢,效率更低。但是,可以将调试器附加到正在运行的程序中,以便在监视内部变量的值时允许代码逐步通过。

3

一次构建基本上意味着在做一组任务,以使你的程序。典型构建的主要组件是编译和链接。

更具体地说,构建可以包含编译,链接,设置版本号,将输出复制到某个位置,创建安装程序和其他任何内容。

当人们说调试或发布构建等等时,他们可能会为每个设置定义不同的设置。例如,在调试版本中,您将创建用于调试的程序数据库文件。

0

构建不必包含仅编译和链接的目标。通常至少有一个,但是“build”也可以包括创建纯文本文件或二进制文件,将图像,声音和其他文件移动到文件要访问的正确位置,或者需要其他任何操作将被执行以供应用程序运行。

如果您愿意的话,将针对不同的“受众”制作多种类型的版本。例如,最终用户不需要收集有关被调用的函数,引发了多少次和异常的信息,或任何其他诊断信息(尽管该信息对开发人员有价值)。通常最终的“发布”内部版本会变得很快而且很小,并且不会像这样的额外内容加载用户。