3

我只是从互联网上阅读信息,目前是关于页面的 cmake,我需要这些信息来填补空白,这有助于看到大局。

我希望,答案肯定是直截了当的。什么是原生构建环境?

背景:我需要知道如何在我的机器上构建软件(CodeBlocks 等),为什么我需要这样做,这样做的好处等等。但首先,我需要知道我遇到的每一个行话,并且我找不到任何关于“本机构建环境”到底是什么的解释,尽管我可以在某种程度上推测。

4

2 回答 2

6

“本机”如“直接在主机操作系统中运行”而不是“在虚拟机或模拟器中运行”。

CMake 的 about page 试图传达的特定点是 CMake 实现跨平台功能的方式:特别不是通过虚拟化,而是通过直接与主机系统合作/协作,以及使用主机系统的“正常”方式做事。

那么构建环境是否只是包含编译器构建软件所需的所有垃圾的目录?

这过于简单化了——没有什么可以说它是一个单一的目录——但或多或少,是的。该术语不是行话,它的字面意思是构建所需的“世界状态”(又名环境)。

那你会怎么称呼另一件事,非本地人?

当然,或虚拟化,或模拟,或添加任何其他中间层。

为什么我们也需要区分?

为什么不?有一个简洁、清晰、简单的术语很有用,这样我们就可以准确地进行交流,并且尽量减少混淆和歧义。

于 2013-03-25T04:36:37.060 回答
1

为什么是“非本地”?如果您还没有弄清楚这一点 - 有一种叫做交叉编译的东西。

简而言之,如果我无法访问需要在其上运行软件的目标硬件(或等效的虚拟机),我如何在我的主机上开发此软件并将其打包以在该目标上运行?

交叉编译通过提供执行翻译(或其他重要的低级内容)的必要工具来解决这个问题,从而为您提供最终软件。这种开发软件的环境称为非本地环境。

好吧,我相信我们需要这个术语来说明这项技术。

于 2014-10-29T21:01:31.497 回答