【问题标题】:C compiler with windows带有windows的C编译器
【发布时间】:2018-06-01 21:07:53
【问题描述】:

我在 Netbeans IDE 中使用 GCC 编译器,但有些东西我无法理解,即使我无法在谷歌搜索中得到答案

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

【问题讨论】:

  • 你不知道,这只是几个选项之一
  • Netbeans 是一个糟糕的 C 或 C++ IDE - 使用 CLion(如果您是学生则免费)、Code::Blocks(免费、开源)或 Visual Studio(免费社区版)。如果你想在 Windows 上使用命令行编译器,那么nuwen.net/mingw.html 很容易安装和使用。

标签: c++ gcc


【解决方案1】:

TL;DR

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

详情

用 C++ 编写程序真正需要的是支持您的目标环境和文本编辑器的tool chain

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

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

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

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

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

【讨论】:

    【解决方案2】:

    你没有。

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

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

    【讨论】:

    • 为什么投反对票?人们需要离开 cmets 解释拒绝投票的原因。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多