2015-06-10 86 views
4

我知道我的班級,我不得不安裝cygwin讓我的Netbeans IDE運行,但是我在g ++和gcc的安裝過程中看到了選項,我不確定它們是否是相同的東西,以及wingw在哪裏?它是另一個編譯器,如果是的話,爲什麼選擇另一個呢?gcc,g ++,cygwin和wingw之間的關係?

回答

4

g ++和gcc分別是gnu C++和C編譯器。不過,它們實際上是具有不同標誌的編譯器。

MinGW是「用於Windows的極簡主義牛羚」。它是在Windows上運行的gnu編譯器的一個端口。

Cygwin是gnu編譯器(以及各種其他實用程序)的另一個端口。更準確地說(IMO,無論如何),它將使編譯器/程序在POSIX上運行,並移植一個POSIX層以在Windows上運行。

至於它們之間的選擇:如果你在運行Linux,你可能不想爲你正在使用的發行版獲取一個gcc/g ++包。

如果您正在運行Windows,它將取決於您的意圖。 Cygwin適用於將現有的Linux/POSIX代碼移植到Windows。但是,如果你打算編寫代碼,只想要一個編譯器,那麼我會選擇MinGW。

另一個需要注意的是:MinGW.org的MinGW並沒有多年更新。如果你決定使用MinGW,我建議從nuwen.net取得它(它定期更新相當於)。

1

取決於你正在建造的東西;

  • gcc是C程序。
  • g ++適用於C++程序。

我還沒有聽說過wingw。

2
  1. gcc將分別編譯爲:.c/.cpp文件,分別爲C和C++。
  2. g ++將編譯:.c/ .cpp文件,但它們全部將被視爲 C++文件。
  3. 此外,如果你使用g ++鏈接目標文件,它會自動鏈接到標準C++庫(gcc不這樣做)。
  4. gcc編譯C文件的預定義宏較少。

對於wingw,你的意思是mingw?因爲MinGW是爲了與Windows兼容。 MinGW使用GCC/G ++,而MinGW不是編譯器,它基本上是Cygwin的一個剝離版本,儘可能使用MS libs。