C语言中的翻译环境和执行环境是什么,它们之间有什么区别?



C语言中的翻译环境和执行环境是什么,它们之间有什么区别?

转换环境是指预处理器、编译器和链接器运行以从一个或多个源文件创建可执行文件的位置。 例如,当您运行 gcc 或 Visual Studio 时,您可以在翻译环境中执行此操作。

执行环境是指实际运行已编译和链接代码的计算机。

通常,这些环境是相同的。 当您在同一台计算机上编译代码并运行代码时,或者在同一处理器(或处理器系列(上运行相同操作系统的两台不同计算机上,就是这种情况。

但是,在没有操作系统的嵌入式系统或运行操作系统但处理能力最小的小型系统等环境中,在这些系统上运行编译器是不可能的或非常慢。 在这些情况下,您将在不同的系统上运行编译器,但告诉它创建在嵌入式系统上运行的可执行代码。 在这种情况下,编译代码的计算机无法运行代码,但嵌入式系统可以运行。

这是翻译环境和执行环境不同的情况。 这通常称为交叉编译

有关更多详细信息,请参阅 C 标准的第 5.1 节。

最新更新