带有窗口的 C 编译器

C compiler with windows

本文关键字:编译器 窗口      更新时间:2023-10-16

我正在Netbeans IDE中使用GCC编译器,但有些事情我无法理解,甚至我也无法在谷歌搜索中获得答案

问题: 为什么我们在使用 GCC 编译器时需要使用 Cygwin 工具,以防我们的平台是 Windows,而我们不需要这个工具用于 Linux 平台?

TL;博士

你不需要Cygwin来编写C++程序。

用C++编写程序真正需要的只是一个支持目标环境的工具链和一个文本编辑器。

Cygwin是一个兼容层,它带来了比Windows系统通常提供给Windows的更高级别的POSIX兼容性。

Linux 是一个已经支持 POSIX 的操作系统,因此不需要 POSIX 兼容层。相反,您可能会发现自己使用像wine这样的工具来运行Windows程序。

你不需要天鹅座来使用C++。只有当你想在基于Windows的系统上构建和运行假设POSIX合规性的程序时,你才需要Cygwin。如果你为Linux编写一个程序,并且它使用Linux系统调用,那么你很可能需要Cygwin在Windows上编译和运行它,而无需用Windows等效项替换系统调用。1如果您正在Windows上编写并打算在Linux或任何其他符合POSIX的操作系统上使用相同的代码,则同上。

您可以使用其他库(Boost 是一个常用选项(来提供跨平台兼容性。如果您喜欢冒险或具有有限的非可移植系统调用子集,您还可以编写自己的层以位于代码和目标系统之间

1Linux 除了支持 POSIX 之外,还有自己的调用,所以不要以为你总是可以做到这一点。

你没有。

GNU C 语言编译器有多种品种
一个是Cygwin。
另一个是MinGW。 这个编译器不需要Cygwin。
还有其他的。

编译器需要访问操作系统功能。 每个品种访问不同的操作系统设施。