成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

用C++語言做Linux開發工具之編譯器和調試器選擇要素

系統 Linux
之前報道講到了用C++語言做Linux開發工具編輯器的選擇,今天我們繼續看看用C++語言做Linux開發工具編譯器和調試器選擇要素

編譯和調試往往成為編輯中重要的兩點,所以對于編譯器和調試器的選擇就變得至關重要了,今天我們就告訴大家用C++語言做Linux開發工具之編譯器和調試器選擇要素,以便大家更效率的進行開發

編譯器

用C++語言做Linux開發工具編譯器首選GCC(GNU COMPILER COLLECTION)。原因有兩個,它是GNU開源的,同時它對標準C++的支持度高達96.15%。而VC++6.0的支持度只有83.43%。 GCC不僅是通常意義上的C或C++的編譯器,它還可以編譯java等其它語言。gcc是gnu c的編譯器,g++是gnu c++的編譯器, 而EGCS(Enhanced GNU Compiler Suite)可以認為是gcc的改進版。

編譯語言從源程序到目標代碼會經過如下幾個階段:源程序->匯編程序->編譯成obj程序->鏈接成最終可執行程序。我們可以通過一條編譯指令來完成所有步驟。也可以分步執行。gcc有三個重要選項-E(只進行預處理), -S(生成匯編代碼), -g(生成帶原代碼調試符號的可執行文件,如果想用gdb調試的話,就應該在編譯時打開這個選項)。

用C++語言做Linux開發工具GCC可以看作一個軟件包,除了編譯工具,它還集成了調試器gdb,性能分析工具gcov, gprof。只要我們裝好了GCC,這些強大工具就可以直接使用了。

通過gcov,我們可以查看一個程序,源代碼中每行代碼的運行次數。我們優化運行次數最多的代碼,那么就可以大大優化程序。使用gcov時,需要打開 GCC的fprofile-arcs和ftest-coverage兩個選項。gcov中常用的選項有-b分支統計信息。

通過gprof工具,我們可以查看函數之間的調用順序,及各個函數運行的時間。我們可以將gprof理解為linux/unix自帶工具time的加強版。使用gprof時,需要打開GCC的pg選項。

gcov和 gprof的共同點是在編譯程序時,加入自己的一些輔助信息,由此來進行程序診斷。除了,這些優化手段,我們還可以使用一些內存泄漏工具,來減少野指針,未釋放的內存空間。

調試器

用C++語言做Linux開發工具GDB即GNU的調試器,它是GCC附帶的一個性能優質的調試器。通過GDB和腳本結合,我們可以很好的實現回歸測試。

用C++語言做Linux開發工具GDB可以運行于CLI和GUI兩種模式。默認GDB是CLI模式的,我們可以去下載和安裝GUI模式的GDB,例如xxgdb, ddd等。一個更好的方式是在 EMACS中使用GDB。GDB包括visual studio工具的所有調試功能,還包括它沒有的功能。它除了支持,我們一般的設置斷點,單步跟蹤,step in, step out, step over等,還有一些強大的功能。在gdb中,我們可以有以下幾種暫停方式:斷點(BreakPoint)、觀察點(WatchPoint)、捕捉點(CatchPoint)、信號(Signals)、線程停止(Thread Stops)。

下面列舉幾個讓我印象深刻的功能。1)通過 watch指令,可以讓程序在某個變量的值發生變化時,暫停下來。2)通過print指令,在程序運行時,設置變量的值,運行一個程序自身支持的一個方法。3)通過until指令,我們可以讓程序在運行到某個程序時暫停下來。4)通過break.. if指令,使得程序在滿足某個bool表達式時,暫停下來。

【編輯推薦】

  1. Novell裁掉部分openSUSE Linux開發者
  2. 騰訊Linux QQ團隊現招聘:Linux開發與測試工程師
  3. IBM呼吁Linux開發者勿模仿Windows用戶界面
  4. 開源大師齊聚京城 Linux開發者研討會開幕
  5. 國際Linux開發者盛會在中國召開
     
責任編輯:chenqingxiang
相關推薦

2010-05-28 13:53:41

Linux開發工具

2010-05-28 14:34:17

Linux開發工具

2010-12-21 10:16:53

2010-05-28 14:44:42

Linux開發工具

2010-05-28 14:55:17

Linux編程工具

2010-06-04 17:37:45

Linux編程工具

2010-01-18 10:34:21

C++編譯器

2010-01-21 09:11:38

C++編譯器

2013-12-02 09:34:58

工具火狐Web

2010-01-18 10:28:15

C++編譯器

2023-08-22 08:00:00

編譯器開發RustOCaml

2010-05-28 15:34:14

Linux編程工具

2010-10-20 13:43:37

C++編譯器

2014-03-03 10:00:53

編譯器集成開發環境

2010-01-14 15:29:44

C++編譯器

2010-02-03 13:14:03

C++編譯器命令

2020-03-16 10:05:13

EmacsGUDLinux

2010-01-27 13:53:40

強大的CC++編譯器

2023-11-13 22:03:34

IDEC語言編譯器

2010-01-12 16:42:59

C++編譯器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人福利在线 | 欧美一区二区三区在线播放 | 成在线人视频免费视频 | 亚洲国产成人av | a成人| 天天人人精品 | 在线日韩| 黄色免费网站在线看 | 99福利视频| 亚洲一区二区三区免费在线观看 | 成人做爰www免费看 午夜精品久久久久久久久久久久 | 激情av在线| 欧美综合久久久 | 九色在线视频 | 国产91精品久久久久久久网曝门 | 国产精品免费一区二区三区 | 亚洲欧美视频 | 99在线观看视频 | 一级毛片视频 | 91久久国产综合久久 | 国产精品一区二区三区在线播放 | 中文字幕在线不卡 | 在线视频91 | 成人欧美一区二区三区在线观看 | 日韩在线综合 | 欧美激情五月 | 中文字幕一区在线 | 91精品国产91久久久久久密臀 | 天天艹| 中文字幕亚洲区 | 中文日本在线 | 国产婷婷色综合av蜜臀av | 国产精品久久久久久久久久久久冷 | h片在线观看网站 | 国产亚洲精品久久久优势 | 黄网站在线播放 | 一区二区三区亚洲 | 欧美理伦片在线播放 | 国产精品99视频 | 日本久久网站 | 日本成人毛片 |