C# 理解构建c++;

C# 理解构建c++;,c#,c++,c,visual-studio-2008,C#,C++,C,Visual Studio 2008,我想我知道什么是构建。但我不确定。我对构建的定义是编译应用程序的另一种说法。有人能告诉我确切的构建是什么吗。为什么人们要求3种类型的构建。例如调试生成、概要文件生成和发布生成。有什么区别 [编辑] 构建的类型构建基本上意味着执行一组任务来生成程序。典型构建的主要组件是编译和链接 更具体地说,构建可以包含编译、链接、设置版本号、将输出复制到某个位置、创建安装程序以及其他任何内容 当人们说debug或release build等时,他们可能会为每个版本定义不同的设置。例如,在调试版本中,您将创建用于

我想我知道什么是构建。但我不确定。我对构建的定义是编译应用程序的另一种说法。有人能告诉我确切的构建是什么吗。为什么人们要求3种类型的构建。例如调试生成、概要文件生成和发布生成。有什么区别

[编辑]
构建的类型

构建基本上意味着执行一组任务来生成程序。典型构建的主要组件是编译和链接

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

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

查看

释放模式

在发布模式下构建程序集时,编译器将执行所有可用的优化,以确保输出的可执行文件和库尽可能高效地执行。此模式应用于将发布给最终用户的已完成和测试的软件。发布模式的缺点是,虽然生成的代码通常更快、更小,但调试工具无法访问它

调试模式


在开发软件时使用调试模式。在调试模式下编译程序集时,会嵌入额外的符号信息,并且代码不会得到优化。这意味着编译器的输出通常较大、较慢且效率较低。但是,可以将调试器附加到正在运行的程序,以便在监视内部变量值的同时逐步执行代码。

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


如果您愿意,可以针对不同的“受众”进行多种类型的构建。例如,最终用户不需要收集关于调用了什么函数、引发了多少次和异常的信息,或者任何其他诊断信息(尽管这些信息对开发人员很有价值)。通常,最终的“发布”版本是快速和小型的,不会像那样让用户下载额外的内容。

“为什么人们要求两种类型的版本。例如调试版本、配置文件版本和发布版本。”:在我看来,这三种类型类似于3种类型。。。