簡體   English   中英

用於Windows的簡單C ++編譯器

[英]Simple C++ compiler for windows

我以為我會用C ++而不是一些解釋性的語言寫一些東西(因為我需要簡單的表現)然后去嘗試不同的工具。

首先我發現cygwin因為它有g ++,但它需要cygwin.dll來運行exe。

然后我嘗試了mingw,但似乎我需要在libgcc和libgstd之類的內容中包含一些dll,這會使可執行文件膨脹到大約MB(我真的不需要那么多字節來做簡單文件I / O )

然后我查看了Visual C ++ 2010,因為我已經安裝了它,但看起來我需要安裝2008只是為了使用.net framework 3.5。 好吧,我不介意使用4.0,但我想有很多人在他們的Windows機器上沒有4.0,讀取文件會很不方便。

我可以使用什么來讓我傳遞小exe(例如:幾KB的價值)來執行在大多數Windows機器上運行的簡單的一次性操作? (因為它只與windows用戶有關)

或者我應該只使用C並使用gcc進行mingw?

至少有一些明顯的候選人:

VC ++:從VC ++開始,2010年開始支持一些C ++ 11特性。 VC ++ 11(目前處於beta測試階段)增加了一些。 有相當不錯的代碼生成,很多人認為是最好的調試器,以及一個產生相當混合的評論的IDE。 許多使用它們的人至少在某些方面更好地考慮了老一代的IDE(VC ++ 5和6),但是從那時起編譯器已經有了很大的改進,以至於舊的IDE確實不適合大多數人(除了支持古代代碼)。

MinGW:STL目前的軟件包具有gcc 4.7.0,它(至少可以說是)比VC ++有更好的C ++ 11支持。 它包含了很多移植的Unix / Linux工具,但基本上只是一個命令行環境。 如果您想要類似IDE的東西,則必須單獨安裝/配置它。

Cygwin:這也是基於gcc,但不是將編譯器移植到Windows,而是將Linux移植到Windows,並在移植的Linux上運行編譯器。 顯然我誇大了(一點點)但不是很多--Cygwin主要是在Windows上運行Linux / Unix代碼,盡可能少的改動。 他們提供的工具也適合 - 它正在盡力成為在Windows內核下運行的類Unix環境。 對於任何新的開發來說,它絕對不是我的首選。

Qt Creator / SDK:這是gcc的另一個包裝,但是帶有IDE。 如果你想用Qt編寫代碼,它可能是你的第一選擇。 否則,我可能會避免它 - 雖然它可能可以正常工作,否則,它是假設Qt為默認值。

Eclipse / CDT:您也可以使用g ++的副本找到它。 至少在我最后一次嘗試時,它需要相當多的配置工作才能讓它正確編譯。 如果你將Eclipse用於其他目的,那么讓它做C ++可能是值得的。 否則,我個人會避免它。

C ++ Builder:在Borland時代,這是微軟主導地位的最大挑戰者。 Embarcadero似乎試圖讓它再次回歸主流。 這里的重點似乎更多地放在IDE,GUI工具包等上,而不是編譯器本身。 編譯器本身似乎有點落后於gcc和/或VC ++。 入門版售價150美元,並將產量銷售限制在1000美元,此時您需要花費1000美元的大部分資金升級到專業版。

Clang:最近開始的主要編譯器,但真正努力成為最好的編譯器之一。 擁有任何可用編譯器的最佳診斷功能。 目標LLVM,它為運行時分析提供了各種各樣的工具。 它的主要企業贊助商是蘋果,雖然如此,而它運行了很好的在Windows上的OS / X(現在是默認的編譯器有)的方塊,你多了很多對自己的-據我所知,你需要一些安裝和工作的其他編譯器(並且真正知道如何使用它)來安裝它。 在Windows上,這有點像從垃圾場買一輛肌肉車。 有了足夠的工作,你可能會得到鎮上最酷的汽車 - 但在Windows上,它目前更像是一個項目而不是一個工具。

還有一些通常可以避免:

  1. 大約在2008年之前的任何版本的VC ++。簡單的低級C ++實現。
  2. 4.x之前的任何g ++版本。 再次,C ++的劣質實現。
  3. djgpp:幾乎是最糟糕的。 這真的針對MS-DOS與(自定義)DOS擴展器。 一個古老版本的gcc完善了可怕性。
  4. OpenWatcom:也主要針對MS-DOS。 它使用的是比djgpp更好的DOS擴展器,但這幾乎是一種愚蠢的贊美。 編譯器甚至不太符合C ++ 98; C ++ 11更新讓我覺得不太可能很快(如果有的話)。
  5. 數字火星:Walter Bright現在主要使用他自己的D語言。 雖然C ++編譯器仍然可用,但它編譯的C ++已經過時了。

總結:如果你想要一個IDE,VC ++ Express是明智的選擇。 如果您更關心最新的C ++ 11功能並且不介意在命令行中工作,MinGW可能是最佳選擇。 其他人肯定有利基,但如果你的目標主要是新的,編寫可移植的C ++,我會認為他們中的大部分都是劣等的。

我目前正在使用Stephan Lavavej的MinGW發行版,網址為http://nuwen.net/mingw.html

我用它來生成使用gcc的.exe文件。

你只需要對他所包含的工具集合感到滿意。

然后我看了Visual C ++ 2010,因為我已經安裝了它,但看起來我需要安裝2008只是為了使用.net framework 3.5

呃,C ++和.NET 沒有任何關系。

Visual Studio是Windows C ++編譯器。 其他大多數人的Windows支持最差。

我知道你提出的問題是“允許我傳遞小exe”但如果你有興趣(比如我)有時只是運行C ++代碼而不是創建exe,你可能想嘗試編譯和執行C ++ Online

對於Windows上的簡單C / C ++編譯器,很難擊敗djgpp: http//www.delorie.com/djgpp/

恕我直言:現在只有少數kb的exe的方法就是用.net框架來做,說2.0盡可能兼容。

我想你使用的工具,你至少會靜態鏈接標准庫的某些部分,這將打破你對小exe的要求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM