Dev-C++ 的前世今生

Dev-C++ 是一套 Windows 上免費(且開放原始碼)的 C/C++ 整合式開發環境 (IDE)。它的 GUI 部份基本上是使用 Delphi 寫成,而背後的編譯器則是使用 Mingw 版本的 GCC。因為可以免費取得,而且安裝、使用上又方便(跟原始 Mingw GCC 比較的話),所以不少學校在教 C++ 的時候,都建議學生使用這一套 IDE。

但 Dev-C++ 在網路上有幾個常見的分支,常常看到初學者使用非常舊的版本,不但編譯器不支援新的 C++ 語法,而且 Dev-C++ 本身還可能有尚未修正的 bug。在此稍微聊一下 Dev-C++ 常見的幾個版本,並且提出給 C/C++ 初學者的建議。

Bloodshed Dev-C++ (1998-2005)

  • 官網:https://www.bloodshed.net/
  • SourceForge 下載點:https://sourceforge.net/projects/dev-cpp/files/Binaries/ (不建議下載!)

這是 Dev-C++ 最原始的版本,作者是一位叫做 Colin Laplace 的法國人,以 Bloodshed Software 之名釋出 Dev-C++,因此一般都稱之為 Bloodshed Dev-C++。最早釋出的時間可以追溯至 1998 年。我個人是在 2000 年之後才發現這套軟體,當時 Windows 上沒有什麼免費又易用的 C/C++ IDE,因此我發現這套軟體後非常興奮!還直接寫 email 過去給 Laplace,自告奮勇說要幫他做界面中文化翻譯。因此目前 Dev-C++ 最早的中文化翻譯檔就是我翻的。

不過後來 Laplce 的個人生活變得比較忙,沒有多餘的時間維護 Dev-C++,因此在 2005 年 2 月釋出最後一版 4.9.9.2(名稱上是叫 "5.0 BETA")後,就再也沒有更新了。使用的 GCC 版本也停在 3.4.2。

Orwell Dev-C++ (2011-2015)

Dev-C++ 雖然是開放原始碼的專案,理論上所有人都可以分支維護;但 Bloodshed Dev-C++ 自從 2005 年 2 月斷更後,就一直沒有比較活躍的維護者。一直到斷更 5 年後的 2011 年,才又有一位名為 Orwell(本名是 Johan Mes?)的荷蘭工程師,接下了更新的任務。

從 Orwell 的 blog 文章中可以發現,原本他是想要做一套 3D 引擎的;但覺得他愛用的 Dev-C++ 實在是太久沒更新,因此自己動手維護,同時順手加入了 Win32/DirectX/OpenGL 等的標頭檔,應該也是為了他開發 3D Engine 方便啦! 🙂

Orwell 釋出的第一版 (4.9.9.3) 就把 GCC 的版本升級到 4.5.2。後續的版本也開始支援產生 64 位元的執行檔,也開始支援 C++11。Orwell 釋出的最後一個版本是 5.11,使用的 GCC 版本 4.9.2。

Embarcadero Dev-C++ (2020-?)

2015 年之後,Orwell 也停止更新他所維護的 Dev-C++ 了。接下來又過了 5 年,終於又有人接手維護 Dev-C++ 了。而且還不是什麼泛泛之輩,而是擁有 Delphi 以及 C++Builder 等產品的 Embarcadero(這個字實在很難拼 orz)!

Embarcadero 接手後沒多久,就將 GCC 的版本從 4.9.2 拉到 9.2.0(GCC 的版本命名方式在 2014 年之後有變動,所以現在主版號加得比較快),完整支援 C++17,也加入了部份 C++20 的功能。同時也更新了 Dev-C++ 本身,使用新版的 Delphi 編譯,加入不少新功能。

令人好奇的是,為什麼 Embarcadero 要接手 Dev-C++ 的維護工作?畢竟他們已經擁了 C++Builder 這套 C++ 開發工具。我一下子找不到 Embarcadero 自己的說法,不過一般是認為因為 Dev-C++ 是使用 Delphi 開發的,而 Embarcadero 想要利用 Dev-C++ 來展示 Delphi 的能力、推廣 Delphi。我自己想到的另一個理由是 Embarcadero 需要一套免費授權的 C++ 開發環境。雖然 C++Builder 現在也有 Community 版,但使用上的限制還是不少。

總之,對我們這些使用者來說,還是樂見 Dev-C++ 有人接手維護。也希望 Embarcadero 能撐久一點,不要一下子就不玩啦!

初學者到底要用哪套編譯器?

以 Windows 上可供「個人免費使用」的 C++ 開發環境來說,其實沒有人比得上微軟的 Visual Studio Community 版。它的功能幾乎和 Professional 版相同,個人使用的授權條件其實也比 C++Builder Community 寬鬆。Visual Studio 強大的 IntelliSense 功能和方便的 debugger,更是對 C/C++ 初學者來說極為有用的工具。

但 Visual Studio 實在太龐大!以解決方案/專案為中心的管理方式雖然對於專業使用來說相當方便,但對於只是想在 main.cpp 中寫個幾百行程式碼的初學者來說,有點太囉嗦。所以在系統中裝一套 Dev-C++,臨時想實驗一下、寫些小程式,還算 OK 啦!

只是!請不要再用 Bloodshed or Orwell 的版本了。要用就用 Embarcadero 釋出的版本。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *