GCC 編譯程式的速度依賴於 CPU 的速度,所以首先 CPU 的選擇上應選用每時脈效能高的 CPU,如 Intel Core2 Duo。然後就是通過將 CPU 超頻來提高 CPU 的速度。
偶們通常在 ./configure 後,接 make 開始編譯。在編譯過程中偶觀察到雙核心 CPU 的使用率只有 50%,為使編譯過程能夠使用到 CPU 的全部兩個核心,偶使用 make -j2 進行編譯,這樣 CPU 使用率 100% 得到完全利用、編譯速度變快。相應地四核心 CPU 應使用 make -j4 進行編譯,偶無四核心 CPU,無法確認,使用者可開啟工作管理員觀察 CPU 使用率是否 100%。
注意不要使用超出 CPU 能力的 make -jn,如雙核心 CPU 就不要使用 make -j3,這樣電腦會假死,什麼都不能作。
目前分類:mingw (8)
- May 05 Tue 2009 17:50
如何加快 GCC 編譯程式的速度
- Mar 23 Mon 2009 03:36
使用 mingw 編譯 ffmpeg 0.5(教學 + 下載)
首先下載 ffmpeg 0.5 的原始碼,官方載點:http://ffmpeg.org/releases/ffmpeg-0.5.tar.bz2
編譯的最基本選項。(以下所述皆為靜態編譯,得到的 ffmpeg.exe 可獨立執行。不編譯 dll)
./configure --enable-memalign-hack --extra-cflags=-fno-common make make install
--enable-memalign-hack,若無此項無法編譯;-fno-common 為應對一個 GCC 的 bug。
- Mar 22 Sun 2009 21:51
MSYS 加 MinGW 編譯環境配置教學
MinGW 需要以下軟體包:binutils, mingw-runtime, w32api, gcc-core, gcc-g++.
- binutils-2.19.1-mingw32-bin.tar.gz
- mingwrt-3.15.2-mingw32-dev.tar.gz
- mingwrt-3.15.2-mingw32-dll.tar.gz
- w32api-3.13-mingw32-dev.tar.gz
- gcc-part-core-4.3.0-20080502-2-mingw32-alpha-bin.tar.gz
- gcc-part-c++-4.3.0-20080502-2-mingw32-alpha-bin.tar.gz
新增一個資料夾命名為 mingw。將下載的軟體包複製到 mingw 資料夾中並全部解壓縮。偶使用 7-zip 解壓縮,選取全部壓縮檔,7-zip 右鍵菜單中選擇解壓縮至此,得到 tar 檔案;再選取全部 tar 檔案重複上述解壓縮過程,當遇到提示是否覆蓋檔案時選擇全部皆是。解壓縮完成後將 mingw 資料夾中的軟體包刪除。
安裝 MSYS 1.0.10,安裝路徑偶使用 R:\msys。你可以使用你喜歡的,但要注意路徑中不能有空格。接下來的 post install process 選「y」,問你 MingW 是否已經安裝依然選「y」;將之前的 mingw 資料夾移動到 msys 資料夾中,出現確認取代資料夾的提示時選擇全部取代;然後回到 post install process 視窗,填入 MingW 的路徑為 r:/msys/mingw。
- Mar 20 Fri 2009 23:57
texi2html 去多餘內容美化版
基於 texi2html 1.66 修改。去除頁尾的「About this document」部份;移除每一段後面插入的導航條;美化每段之間用於隔開段落的 <hr> 水平線;連結取消下劃線並改進顏色;美化時間格式,移除以英文表示的月份後面的逗號。
texi2html 1.66 以後的版本取消了目錄,1.66 版是目前有目錄的最新版本,它是將目錄放在每一頁的最下方,不同於 1.56k 是將目錄放在每一頁最上方。個人認為目錄放在最下方比較好,對於不甚瞭解的內容先看目錄不如先將文檔內容瀏覽一遍。因為 texi2html 生成的基本上都是小型文檔所以還好,大型文檔還是應該將目錄放在每一頁的最上方。
效果演示:
- Mar 15 Sun 2009 20:31
讓 MSYS 中可以正常使用鍵盤上的 Home、End 鍵
在 MSYS 中,按下鍵盤上的 Home、End 鍵,只會顯示「~」。
使用記事本開啟 msys\etc\profile,於末尾加入一行。
export INPUTRC=/etc/inputrc.default
重新啟動 MSYS 即可看到效果。
- Mar 15 Sun 2009 16:21
使用 mingw 編譯 FAAC 1.28(教學 + 下載)
首先去官網下載 FAAC 的原始碼,務必下載 TAR.BZ2 壓縮檔。
http://www.audiocoding.com/downloads.html
解壓縮後得到資料夾 faac-1.28,開啟 MSYS。
$ cd faac-1.28
- Mar 15 Sun 2009 14:47
patch 命令打補丁教學
patch_file 中使用相對路徑來定義需要打補丁的檔案位置。
例:一個 patch_file 的檔案頭部,需要打補丁的檔案為 faac-1.28/common/mp4v2/mpeg4ip_win32.h
diff -urN faac-1.28.orig/common/mp4v2/mpeg4ip_win32.h faac-1.28/common/mp4v2/mpeg4ip_win32.h
--- faac-1.28.orig/common/mp4v2/mpeg4ip_win32.h Sun Jan 25 10:14:34 2009
- Mar 15 Sun 2009 00:22
減小 gcc 編譯後生成的執行檔大小
對編譯後生成的執行檔使用 strip 命令
strip -s 執行檔.exe
編譯前給 GCC 加入 CFLAGS「-s」。臨時調用可以使用 CC 搭配 configure
CC='gcc -s' ./configure
無論使用「strip -s」還是「gcc -s」,最終得到的檔案大小都相同。strip 和 gcc 的 -s 參數還可以寫作 --strip-all。