C語言中文網 目錄
首頁 > GCC編譯器 閱讀:2,044

GCC的組成部分以及使用到的軟件

GCC 是由許多組件組成的。表 1 列出了 GCC 的各個部分,但它們也并不總是出現 的。有些部分是和語言相關的,所以如果沒有安裝某種特定語言,系統:中就不會出現相關的文件。

表1:GCC 安裝的各個部分
部分 描述
c++ gcc 的一個版木,默認語言設置為 C++,而且在連接的時候自動包含標準 C++ 庫。這和 g++ 一樣
ccl 實際的C編譯程序
cclplus 實際的 C++ 編澤程序
collect2 在不使用 GNU 連接程序的系統上,有必要運行 collect2 來產生特定的全局初始化代碼(例如 C++ 的構造函數和析構函數)
configure GCC 源代碼樹根目錄中的一個腳木。用于設置配置值和創建GCC 編譯程序必需的 make 程序的描述文件
crt0.o 這個初始化和結束代碼是為每個系統定制的,而且也被編譯進該文件,該文件然后會被連接到每個可執行文件中來執行必要的啟動和終止程序
cygwin1.dll Windows 的共享庫提供的 API,模擬 UNIX 系統調用
f77 該驅動程序可用于編譯 Fortran
f771 實際的 Fortran 編譯程序
g++ gcc 的一個版木,默認語言設置為 C++,而且在連接的時候自動包含標準 C++ 庫。這和 c++ 一樣
gcc 該驅動程序等同于執行編譯程序和連接程序以產生需要的輸出
gcj 該驅動程序用于編譯 Java
gnat1 實際的 Ada 編譯程序
gnatbind 一種工具,用于執行 Ada 語言綁定
gnatlink 一種工具,用于執行 Ada 語言連接
jc1 實際的 Java 編譯程序
libgcc 該庫包含的例程被作為編澤程序的一部分,是因為它們可被連接到實際的可執行程序中。 它們是特殊的例程,連接到可執行程序,來執行基木的任務,例如浮點運算。這些庫中的例程通常都是平臺相關的
libgcj 運行時庫包含所有的核心 Java 類
libobjc 對所有 Objective-C 程序都必須的運行時庫
libstdc++ 運行時庫,包括定義為標準語言一部分的所有的 C++ 類和函數

表 2 列出的軟件和 GCC 協同工作,目的是實現編譯過程。有些是很基本的(例如 as 和 Id),而其他一些則是非常有用但不是嚴格需耍的。盡管這些工具中的很多都是各種 UNIX 系統的本地共具,但還是能夠通過 GNU 包 binutils 得到大多數工具。

表2:GCC 使用的軟件工具
工具 描述
addr2line 給出一個可執行文件的內部地址,addr2line 使用文件中的調試信息將地址翻澤成源代碼文 件名和行號。該程序是 binutils 包的一部分
ar 這是一個程序,可通過從文檔中增加、刪除和析取文件來維護庫文件。通常使用該工具是為了創建和管理連接程序使用的目標庫文檔。該程序是 binutils 包的一部分
as GNU 匯編器。實際上它是一族匯編器,因為它可以被編澤或能夠在各種不同平臺上工作。 該程序是 binutils 包的一部分
autoconf 產生的 shell 腳木自動配置源代碼包去編澤某個特定版木的 UNIX
c++filt 程序接受被 C++ 編澤程序轉換過的名字(不是被重載的),而且將該名字翻澤成初始形式。 該程序是 binutils 包的一部分
f2c 是 Fortran 到C的翻譯程序。不是 GCC 的一部分
gcov gprof 使用的配置工具,用來確定程序運行的時候哪一部分耗時最大
gdb GNU 調試器,可用于檢查程序運行時的值和行為
GNATS GNU 的調試跟蹤系統(GNU Bug Tracking System)。一個跟蹤 GCC 和其他 GNU 軟件問題的在線系統
gprof 該程序會監督編澤程序的執行過程,并報告程序中各個函數的運行時間,可以根據所提供 的配置文件來優化程序。該程序是 binutils 包的一部分
ld GNU 連接程序。該程序將目標文件的集合組合成可執行程序。該程序是 binutils 包的一部
libtool 一個基本庫,支持 make 程序的描述文件使用的簡化共享庫用法的腳木
make 一個工具程序,它會讀 makefile 腳木來確定程序中的哪個部分需要編澤和連接,然后發布 必要的命令。它讀出的腳木(叫做 makefile 或 Makefile)定義了文件關系和依賴關系
nlmconv 將可重定位的目標文件轉換成 NetWare 可加載模塊(NetWare Loadable Module, NLM)。該 程序是 binutils 的一部分
nm 列出目標文件中定義的符號。該程序是 binutils 包的一部分
objcopy 將目標文件從一種二進制格式復制和翻譯到另外一種。該程序是 binutils 包的一部分
objdump 顯示一個或多個目標文件中保存的多種不同信息。該程序是 binutils 包的一部分
ranlib 創建和添加到 ar 文檔的索引。該索引被 Id 使用來定位庫中的模塊。該程序是 binutils 包的一部分
ratfor Ratfor 預處理程序可由 GCC 激活,但不是標準 GCC 發布版的一部分
readelf 從 ELF 格式的目標文件顯示信息。該程序是 binutils 包的一部分
size 列出目標文件中每個部分的名字和尺寸。該程序是 binutils 包的一部分
strings 瀏覽所有類型的文件,析取出用于顯示的字符串。該程序是 binutils 包的一部分
strip 從目標文件或文檔庫中去掉符號表,以及其他調試所需的信息。該程序是 binutils 包的一部
vcg Ratfor 瀏覽器從文木文件中讀取信息,并以圖表形式顯示它們。而 vcg 工具并不是 GCC 發布中的一部分,但 -dv 選項可被用來產生 vcg 可以理解的優化數據的格式
windres Window 資源文件編澤程序。該程序是 binutils 包的一部分

精美而實用的網站,提供C語言、C++、STL、Linux、Shell、Java、Go語言等教程,以及socket、GCC、vi、Swing、設計模式、JSP等專題。

Copyright ?2011-2018 biancheng.net, 陜ICP備15000209號

底部Logo