windows下的gcc有兩個版本mingw和cygwin,二選一就好
已學會C++,做工程,建議用mingw
用cygwin編譯後的二進位碼在別人機器上用不了,因為其他人的機器沒有cygwin1.dll(安裝cygwin的時候會安裝,提供POSIX api和windows api之間的函數轉換)
學習C++,建議用cygwin
cygwin完整類比了linux的運行環境,包括終端、bash、gcc、gdb、make等等,是一套完整的解決方案(mingw還需要自己配置最小linux環境,msys)
安裝mingw
注意。安裝mingw必須搭配msys(如果安裝cygwin,則不需要),推薦mingw64+msys1
mingw(32位)
http://sourceforge.net/projects/mingw/files/latest/download?source=files
mingw(64位)
http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/installer/mingw-w64-install.exe/download
32位配置圖
64位配置圖
安裝MSYS(運行在windows上的小型linux環境)
msys1
http://downloads.sourceforge.net/mingw/MSYS-1.0.11.exe(官方)
http://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/ (第三方)
msys2(32位,64位二選一,需要linux命令,會linux的可以考慮,pacman包管理器)
msys2(32位)
http://sourceforge.net/projects/msys2/files/Base/i686/
msys2(64位)
http://sourceforge.net/projects/msys2/files/Base/x86_64/
安裝cygwin
cygwin(32位)
http://cygwin.com/setup-x86.exe
cygwin(64位)
http://cygwin.com/setup-x86_64.exe
安裝Devel目錄下的 gcc-core gcc-g++ gdb make
安裝IDE
Ide有很多Code::Blocks、eclipse、netbeans等等,個人推薦netbeans
安裝JDK(java開發工具)
http://www.oracle.com/technetwork/java/javase/downloads/index.html
安裝netbeans(開源IDE,下載C/C++版本)
https://netbeans.org/downloads/
配置系統內容變數PATH
我的電腦->屬性->進階系統設定->環境變數->系統變數->Path->編輯->變數值
如果是mingw+msys
則把mingw的bin目錄,msys的bin目錄加入環境變數,用分號隔開
如果是cygwin
則把cygwin的bin目錄,加入環境變數,用分號隔開
例子:我在Path原有的字串後面加入下面字串
;D:\now\GCC\msys\1.0\bin;D:\now\GCC\mingw64\bin
注:
mingw64配置圖詳解
有5個選項
Version(gcc版本),選擇最高的
Architecture(架構),32位cpu選擇i686,64位cpu選擇x86_64
Threads(線程模式),如果使用posix api 選擇posix,如果使用win32 api 選擇win32
Exception(異常處理機制,有三種)
SJLJ (setjmp/longjmp)
優點,相容性好,32位或64位架構都可以使用
缺點,速度較慢
DWARF (DW2, dwarf-2)
優點,速度比SJLJ快
缺點,只能用於32位架構,且有bug。(盡量別用。。。)
SEH (zero overhead exception)
優點,速度快
缺點,只能用於64位架構
Build revision(編譯版本),選擇最高的