[英]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上,它目前更像是一個項目而不是一個工具。
還有一些通常可以避免:
總結:如果你想要一個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.