GNU 程式設計GNU 程式簡介GNU 與 C 語言gcc 編譯器glibc 函式庫make 建置ld 連結器as 組譯器ar 函式庫objdumpobjcopy訊息相關網站參考文獻最新修改簡體版English |
GNU 開發工具是由 GNU 組織所設計的,包含 gcc 編譯器、as 組譯器、ld 連結器,make 專案建置工具等。這些工具已廣泛地被使用於系統程式的開發上,甚至,著名的 Linux 作業系統也是用 GNU 工具所開發完成的。 GNU 工具的應用相當廣泛, 在 Linux 作業系統中通常預設就安裝了GNU 工具。在 Windows 系統中,您可以安裝 Dev C++ 或 Cygwin 等軟體,以便使用 GNU 工具。本書的示範將以 Dev C++ 環境為主,但由於 Dev C++ 中的 GNU 工具不支援某些函式庫,特別是像是 fork() 與 thread 等行程管理函數。因此在必要的時候,可以在 PC 當中安裝 Cygwin 環境,這會讓您的 Windows 系統下擁有相當接近 Linux 的開發環境。 GNU 程式集包含許多工具程式,像是 gcc, as, ld, ar, nm, objdump, objcopy, strip, strings, ltrace 等工具, 這些工具的基本用法如表格一所示。 表格一、GNU 工具程式及其用法
GNU 與微軟的比較在系統程式領域,微軟與 GNU 是兩個最常被使用到的開發工具,微軟的工具以 Visual Studio 為主,而 GNU 工具則以 gcc 為核心。 『GNU 開發工具』與『Visual Studio』都可以用作 C/C++ 與組合語言的開發工具,兩者各有優缺點。GNU工具的優點是短小精悍、支援平台眾多、而且開放原始碼。而Visual Studio 的優點是開發環境完整、視覺化開發介面優良、並且與微軟的 Windows 密切整合。 下表是微軟與 GNU 兩者的工具比較表,如果要執行這些微軟程式,最簡單的方法是於 Windows 中安裝 Visual Studio,然後開啟 Visual Studio 的命令列即可使用之。若要執行這些 GNU 工具,則可於 Windows 中安裝 Cygwin 或 MinGW 等 GNU 環境,或者安裝 Dev C++ 後就會自動具備 MinGW 環境,然後於環境變數 PATH 中加入這些工具的所在路徑即可。
GNU 與微軟的工具在設計上有點不同,但所具有的功能都相當類似,舉例而言,下表顯示了兩者在組譯與編譯器參數上的不同用法,其中微軟的組合語言附檔名通常為 *.asm,但 GNU 的則為 *.s。要將 C 語言轉為組合語言,在微軟工具中可使用 cl /Fa<fileName.asm> 的指令,但在 GNU 工具中則需使用 gcc -S <fileName.c> -o <fileName.s>。
雖然微軟與 GNU 工具兩者在設計上稍有不同,但是對系統程式設計師而言,重要的是使用工具的能力,以及程式的基本概念。有了這些核心概念後,就能兵來將擋,水來土淹,達到一通百通的境界。 |
GNU 工具簡介
page revision: 6, last edited: 11 Oct 2010 07:35
Post preview:
Close preview