| 企服解答
gcc與mingw的關(guān)系是MinGW 并不是一個(gè) C/C++ 編譯器,而是一套 GNU 工具集合。除開 GCC (GNU 編譯器集合) 以外,MinGW 還包含有一些其他的 GNU 程序開發(fā)工具 (比如 gawk bison 等等)。開發(fā) MinGW 是為了那些不喜歡工作在 Linux(FreeBSD) 操作系統(tǒng)而留在 Windows 的人提供一套符合 GNU 的 GNU 工作環(huán)境。
gcc與mingw什么關(guān)系
cygwin/gcc和MinGW都是gcc在windows下的編譯環(huán)境,cygwin/gcc完全可以和在linux下的gcc化做等號(hào),這個(gè)可以從boost庫的劃分中可以看出來端倪,cygwin下的gcc和linux下的gcc完全使用的是相同的Toolsets。
所以完全可以和linux一起同步更新gcc版本,而不用擔(dān)心問題,并且在cygwin/gcc做的東西(不用win32的)可以無縫的用在linux下,沒有任何問題。是在windows下開發(fā)linux程序的一個(gè)很好的選擇。
但是 在cygwin/gcc下編譯出來的程序,在windows執(zhí)行必須依賴cygwin1.dll,并且速度有些慢, 如果不想依賴這個(gè)東西的化,必須在gcc的編譯選項(xiàng)中加入-mno-cygwin。加入這個(gè)選項(xiàng)其實(shí)gcc編譯器就會(huì)自動(dòng)的選擇在安裝cygwin/gcc時(shí)安上的mingw,這個(gè)mingw就是gcc的一個(gè)交叉編譯。
對(duì)于mingw作為gcc在windows上的一個(gè)實(shí)現(xiàn),不像cygwin的gcc在一個(gè)模擬linux上運(yùn)行,同時(shí)相當(dāng)一部分linux的工具不能夠使用。
| 擴(kuò)展閱讀
GCC:
GCC全稱是GNU C Compiler ,最早的時(shí)候就是一個(gè)C編譯器。但是后來因?yàn)檫@個(gè)項(xiàng)目里邊集成了更多其他不同語言的編譯器,GCC就代表 the GNU Compiler Collection,所以表示一堆編譯器的合集。
MinGW:
MinGW,即 Minimalist GNU For Windows。它是一些頭文件和端口庫的集合,該集合允許人們?cè)跊]有第三方動(dòng)態(tài)鏈接庫的情況下使用 GCC(GNU Compiler C)產(chǎn)生 Windows32 程序。
GNU:
GNU計(jì)劃,又稱革奴計(jì)劃,是由Richard Stallman在1983年9月27日公開發(fā)起的。它的目標(biāo)是創(chuàng)建一套完全自由的操作系統(tǒng)。
GNU是“GNU is Not Unix”的遞歸縮寫。Stallman宣布GNU應(yīng)當(dāng)發(fā)音為Guh-NOO以避免與new這個(gè)單詞混淆(注:Gnu在英文中原意為非洲牛羚,發(fā)音與new相同)。UNIX是一種廣泛使用的商業(yè)操作系統(tǒng)的名稱。由于GNU將要實(shí)現(xiàn)UNIX系統(tǒng)的接口標(biāo)準(zhǔn),因此GNU計(jì)劃可以分別開發(fā)不同的操作系統(tǒng)部件。GNU計(jì)劃采用了部分當(dāng)時(shí)已經(jīng)可自由使用的軟件,例如TeX排版系統(tǒng)和X Window視窗系統(tǒng)等。不過GNU計(jì)劃也開發(fā)了大批其他的自由軟件。
[免責(zé)聲明]
文章標(biāo)題: gcc與mingw什么關(guān)系
文章內(nèi)容為網(wǎng)站編輯整理發(fā)布,僅供學(xué)習(xí)與參考,不代表本網(wǎng)站贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé)。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)溝通。發(fā)送郵件至36dianping@36kr.com,我們會(huì)在3個(gè)工作日內(nèi)處理。