我知道构建意味着要么从源代码编译,要么从工件本身编译。但什么是集合?我试图搜索但找不到差异。
例如,在 .NET 中,程序集是 EXE 文件,但这不是我在构建应用程序时得到的吗?不就是建站吗?
编辑:我的意思是 build 作为名词(构建过程的结果)。
我知道构建意味着要么从源代码编译,要么从工件本身编译。但什么是集合?我试图搜索但找不到差异。
例如,在 .NET 中,程序集是 EXE 文件,但这不是我在构建应用程序时得到的吗?不就是建站吗?
编辑:我的意思是 build 作为名词(构建过程的结果)。
看看这里什么是 .NET 程序集?. 构建的输出是您的程序集,因此如果您的项目中有一个名为 MyClassLib 的类库,那么您将在构建应用程序时获得 MyClassLib.DLL。因此,构建过程是创建程序集的过程
如果有任何标准我会接受作为构建是什么的权威定义,那将是我自己的。我这么说的原因是,我比大多数人有更全面的看法,尽管在佛罗里达州有一些退休的人我可能会向他们鞠躬。
随着使用对语言的支配,“软件构建”的使用和定义随着时间的推移而发展:今天,它被称为“产品”,或生产过程的结果,或者在抽象意义上,该过程本身。所以最初它指的是建造过程或生产最后阶段的产品。它通常与批处理(加载到内存中的模块实例的过程,该模块具有有限的边界并由操作系统跟踪)或作业标识号相关联。出于这个原因,经常要求“构建”上的数字,多次将其与日期相关联,以便将其与纠正措施相关联。
我觉得奇怪的是,这个条目被标记为关键字“语言不可知论”和“构建”。它实际上是自定义的:虽然程序集或编译只能是那些过程或从中产生的产品,但构建可能需要一些初始化数据或上下文,围绕和/或支持包括编译并成为最终产品的一部分。
当一个人盖房子时,输出就是房子:软件构建可能具有一些相同的特征;对一些人来说,没有门窗的大厦不是房子,但这样的结构可以称为构建——同样,生成产品主要模块的一组编译可以称为构建。
我不希望构建是一个精确的术语:相反,它是一组程序及其结果,有时会遵循以生产特定产品。但值得注意的是,一个构建可能包括来自多个编译的模块,实际上是来自几种不同语言的编译——甚至是一些汇编。由于输出或产品可能因此而有所不同,因此该构建的一部分甚至可能由一些过程脚本和/或作业控制语言以及编译或组装的组件组成。
简而言之,软件构建是在特定场合生产特定产品和/或最终产品本身所涉及的一组程序元素,用于识别上下文环境、解决的问题和工作中涉及的成本,就所需和消耗的所有形式的资源而言,订单、任务、包、指令或记录的时间表。