我只是简单地从互联网上读取信息,目前是cmake about page,我需要填写空白的信息,这有助于了解全局。
我希望,答案肯定是直截了当的。什么是本机构建环境?
背景:我需要知道如何在我的机器上构建软件(CodeBlocks等),为什么我需要这样做,这样做的好处等等。但首先,我需要我知道我遇到的每一个术语,我找不到任何关于“本土构建环境”究竟是什么的解释,尽管我可以在某种程度上推测。
答案 0 :(得分:5)
"Native",如“直接在主机操作系统中运行”,而不是“在虚拟机或模拟器中运行。”
CMake关于页面试图传达的特殊点是CMake实现跨平台功能的方式:特别是不通过虚拟化,而是通过直接与主机系统协作/协作,以及主机系统用于做事的“正常”方式。
然后构建环境只是包含编译器构建软件所需的所有垃圾的目录吗?
这是一种过于简单化 - 没有什么可说的,它只是一个目录 - 但或多或少,是的。这个术语不是行话,它的字面意思是构建所需的“世界状态”(又名环境)。
那么你会把另一件事叫做非本地人?
当然,或虚拟化,或模拟,或添加任何其他中间层。
为什么我们也需要区别?
为什么不呢?有一个简洁,清晰,简单的术语是有用的,这样我们就可以准确地进行沟通,并且最小化混淆和模糊。
答案 1 :(得分:1)
为什么'非原生'?如果你还没有想到这一点 - 有一种叫做交叉编译的东西。
简单地说,如果我无法访问软件需要运行的目标硬件(或等效的虚拟机),如何在我的主机上开发此软件并将其打包以在该目标上运行?< / p>
交叉编译通过提供执行翻译(或其他重要的低级别内容)的必要工具来为您提供最终软件。这种开发软件的环境称为非本地软件。
嗯,我相信我们需要这个术语来陈述这项技术。