在 Linux 環境下用 gedit + gcc 學習一段時間 C 語言,發現自己越來越佩服 Linux 高手,居然不用 IDE 也能開發代碼。我做不到,所以回到了 Windows 的懷抱。
MinGW 是 Windows 版本的 GNU C/C++ 工具集(主要包含編譯器 gcc、連結器 make、偵錯器 gdb)。Eclipse 是很好用的 Java IDE,CDT (C/C++ Development Tools) 是使 Eclipse 支援 C/C++ 開發的外掛。本人開發環境:Win7 + Eclipse + MinGW + CDT。
右鍵「我的電腦」→ 屬性 → 進階 → 環境變數:
C:\MinGW\binLIBRARY_PATH,值設為 C:\MinGW\lib(標準庫位置)C_INCLUDE_PATH,值設為 C:\MinGW\includeCPLUS_INCLUDE_PATH,值設為 C:\MinGW\include\c++\3.4.2;C:\MinGW\include\c++\3.4.2\mingw32;C:\MinGW\include\c++\3.4.2\backward;C:\MinGW\includeEclipse 的 Project → Properties → C/C++ Build → Environment 查看對應的 PATH 變數,主要看有沒有添加包含 MinGW bin 目錄的 PATH 變數。若未正確設定,編譯時會報錯無法執行 g++ 或 gcc。
Project → Properties → C/C++ Build → Settings → Tool Settings → GCC C++ Linker → Libraries,添加 Libraries (-l):pthread
(文中包含完整的執行緒池實作代碼,包含 pool_init、pool_add_worker、pool_destroy、thread_routine 等函式,以及測試主程式)
C:\MinGW\bin 下的 mingw32-make.exe 更名為 make.exe,Eclipse 預設抓取 make 而非 mingw32-makepthreads-w32-2-8-0-release.exe,解壓後將 Pre-built.2 中的 libpthreadGC2.a 改名為 libpthread.a 複製到 C:\MinGW\lib,pthread.h 複製到 C:\MinGW\include