掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
mingw64,是Minimalist GNUfor Windows的縮寫。它是一個(gè)可自由使用和自由發(fā)布的Windows特定頭文件和使用GNU工具集導(dǎo)入庫的集合,允許你在GNU/Linux和Windows平臺(tái)生成本地的Windows程序而不需要第三方C運(yùn)行時(shí)(C Runtime)庫。

MinGW 是一組包含文件和端口庫,其功能是允許控制臺(tái)模式的程序使用微軟的標(biāo)準(zhǔn)C運(yùn)行時(shí)(C Runtime)庫(MSVCRT.DLL),該庫在所有的 NT OS 上有效,在所有的 Windows 95發(fā)行版以上的 Windows OS 有效。
不會(huì)。mingw/gcc的新版特別是4.7來編譯的win程序,比如使用了winapi的程序,執(zhí)行速度絲毫不比vc++或bcb或intel cc慢。
gcc4.7的優(yōu)化已經(jīng)非常強(qiáng)勁了。mingw慢的是編譯速度,比vc慢一個(gè)數(shù)量級(jí)。mingw編譯的程序的執(zhí)行速度,絲毫不慢。
實(shí)踐中像ffmpeg,ffdshow,mpc高清播放器這種視頻編碼和cpu媒體加速技術(shù)結(jié)合緊密程序,都用mingw編譯。
測(cè)試效果和vc++、icc的或優(yōu)或或劣比較不超過2%,可以忽略。
vc6/98編譯出的執(zhí)行檔肯定比gcc4.7要差些,但vc6的編譯速度比gcc快
只要把mingw目錄刪除就可以啦。如果你懂得話也可以把path環(huán)境變量的相應(yīng)目錄刪除MinGW(MinimalistGNUonWindows)是將GCC編譯器和GNUBinutils移植到Win32平臺(tái)下的產(chǎn)物,MinGW收集了一系列免費(fèi)的Windows使用的頭文件和庫文件,同時(shí)整合了GNU的工具集,是完全免費(fèi)的自由軟件,它在Windows平臺(tái)上模擬了Linux下GCC的開發(fā)環(huán)境,為C++的跨平臺(tái)開發(fā)提供了良好基礎(chǔ)支持,為了在Windows下工作的程序員熟悉Linux下的C++工程組織提供了條件。
mingw編譯出來的靜態(tài)庫后綴名為.a,編譯出來的動(dòng)態(tài)庫的導(dǎo)入庫后綴名為.dll.a,而在windows下后綴名為.lib的庫可能是靜態(tài)庫也可能是動(dòng)態(tài)庫的導(dǎo)入庫?! ingw編譯出來的動(dòng)態(tài)庫的導(dǎo)入庫可以直接在vc中直接使用,例如 #pragma comment(lib, "libx264.dll.a") 這樣你就不需要生成一個(gè).lib后綴的動(dòng)態(tài)庫的導(dǎo)入庫了,網(wǎng)上也有如何從.dll生成.lib的方法?! ∪绻溄恿藙?dòng)態(tài)庫的導(dǎo)入庫libpthread.dll.a,你發(fā)布的應(yīng)用程序就要帶上pthread的dll?! ∈褂渺o態(tài)庫的好處是發(fā)布的應(yīng)用程序組件模塊里不需要帶上相關(guān)的dll,如果要使用mingw編譯出來的靜態(tài)庫,可以如下: #pragma comment(lib, "libx264.a") 但是僅僅鏈接這么一個(gè)靜態(tài)庫是不夠的,你還需要鏈接 libgcc.a libmingwex.a 你可能還需要鏈接libmsvcrt.a 否則會(huì)報(bào)一堆錯(cuò)誤:error LNK2001: 無法解析的外部符號(hào) 上面的這些庫在C:\MinGW\lib目錄或子目錄下面可以找到。 鏈接這些庫的原因是mingw使用的gcc編譯器和vc編譯器之間存在差異
到此,以上就是小編對(duì)于的問題就介紹到這了,希望這4點(diǎn)解答對(duì)大家有用。

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流