【发布时间】:2020-07-11 09:38:31
【问题描述】:
假设我们采用一种编译语言,例如C++。现在让我们举一个例子框架,假设Qt。 Qt 的源代码是公开的,用户可以选择下载二进制文件并让用户使用他们的 API。然而,我的问题是,当他们编译他们的代码时,它被编译成他们特定的硬件、操作系统,所有这些东西。我了解有多少软件需要针对不同类型的操作系统(包括 32 位和 64 位)重新编译,并在他们的网站上提供多个下载,但是如何不进一步表明它也是特定于硬件的,并最终导致编译后的重新分发执行起来非常令人沮丧?
【问题讨论】:
-
我不太确定您在问什么,以及您想知道什么。
however how does it not go even further to suggest it is also Hardware Specific是什么意思? -
我认为当您编译一些源代码时,它会创建特定于 CPU 硬件的指令。这是否意味着如果我在 C++ 中创建了一个可执行文件,我需要将它提供给同样拥有我所拥有的 ware 硬件的其他人?
-
是的,您为特定架构编译应用程序。并且根据选择的架构,编译器会将源代码转换为特定的 CPU 指令集。然后该二进制文件可以在与该指定架构兼容的任何 CPU 上运行。所以是的,想要运行该二进制文件的人必须拥有支持该指令集的硬件。但这有什么问题呢?
标签: c++ operating-system frameworks compiled