我已经读到c是用来构建unix操作系统的。 但是现在可以使用相同的c来在Windows,linux和几乎所有操作系统中制作程序 这怎么可能。 Windows可执行文件与Linux具有不同的结构,反之亦然 他们可能使用不同的助记符来定义程序,但是同一c编译器将如何为不同的系统编译程序
答案 0 :(得分:1)
它不是同一编译器。您使用Linux C编译器来编译Linux程序(例如gcc或clang)。您使用Windows C编译器来编译Windows程序(例如Microsoft Visual Studio,还包括Windows版本的gcc或clang)。
您可以调用许多在Windows和Linux上都能使用的标准C函数(例如fopen
或printf
),但是如果您调用任何Windows特定或Linux特定的函数(例如CreateWindow
或gettimeofday
),则您的程序将无法在其他操作系统上编译。