Linux下的C/C++開發與調試工具

來源:互聯網
上載者:User
  Linux開發環境相當完善,且功能完整,它主要由GNU的編譯器和庫,以及大量的系統常式及庫組成,能夠支援C++、C和組合語言程式,重點是針對C++和C語言。因為Linux的原始碼主要是用C語言實現的,開發人員可以方便地擷取並進行修改和重新編譯,因此為Linux作業系統提供了一個強大的C語言開發環境至關重要。Linux開發環境包括GNU編譯工具集、調試工具和相關的工具 + 生產力。  1.GNU編譯工具集GCC    (1) cpp,C語言前置處理器。負責宏展開、條件編譯指令、包含其他標頭檔和行控制等功能。調用前置處理器是從原始碼建立二進位可執行程式的第一步。    (2) as,彙編器。用於根據組合語言的源檔案建立出帶有.o尾碼的二進位目標檔案。    (3)ld,連結器。用於將目標檔案與系統目標檔案和庫檔案進行連結,建立二進位的可執行程式。  2.GNU調試工具GDB   GDB是一個威力強大和應用廣泛的調試器。GDB可以建立帶有特定調試資訊的程式,從而可以在代碼中設定斷點並在運行時逐步執行代碼。GDB中的常用指令包括list(列源碼), break(設定斷點), run(執行程式), next(執行下一行), step(逐步執行一行), print(顯示運算式), continue(繼續執行至下一點斷點或結束), info(顯示調試器狀態資訊), show(顯示被偵錯工具資訊), backtrace(顯示調用軌跡,同where, info stack)等。        3.工具 + 生產力集Binutils    (1) ar, 歸檔各程式,建立、修改並從代碼歸檔中提取檔案。    (2) nm, 用於列出目標檔案中的符號。    (3) objcopy, 用於複製和轉換目標檔案。    (4) objdump, 用於顯示二進位檔案的內容。    (5) ranlib, 為歸檔檔案的內容產生索引。    (6) size, 列出目標檔案的總體大小及各段的大小。    (7) strings, 列出檔案中的可列印的字串。    (8) strip, 清除檔案是的符號。    (9) readelf, 顯示檔案中有關ELF格式的資訊。    (10) strace, 用於跟蹤程式執行的系統調用和所接收到的訊號。(Aiguille.LIU / 劉愛貴 aigui.liu@gmail.com)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.