C编译器到处如何工作

时间:2019-05-08 14:05:04

标签: c

我已经读到c是用来构建unix操作系统的。 但是现在可以使用相同的c来在Windows,linux和几乎所有操作系统中制作程序 这怎么可能。 Windows可执行文件与Linux具有不同的结构,反之亦然 他们可能使用不同的助记符来定义程序,但是同一c编译器将如何为不同的系统编译程序

1 个答案:

答案 0 :(得分:1)

它不是同一编译器。您使用Linux C编译器来编译Linux程序(例如gcc或clang)。您使用Windows C编译器来编译Windows程序(例如Microsoft Visual Studio,还包括Windows版本的gcc或clang)。

您可以调用许多在Windows和Linux上都能使用的标准C函数(例如fopenprintf),但是如果您调用任何Windows特定或Linux特定的函数(例如CreateWindowgettimeofday),则您的程序将无法在其他操作系统上编译。