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

選擇C++編輯器的幾大要素

開發 后端
C++編輯器功能強大之處就是通過用戶添加一些擴展包,lisp腳本來實現的。如何正確配置和修改是非常有必要的。

C++編譯器已與另一個編輯器和其他程序捆綁進一個交互的開發環境IDE中,要進行C++開發,第一件事情就是選擇一個合適的C++編輯器C++編輯器選擇有幾個要素:

1)減少不必要的編輯動作,減少編輯的時間。一切能夠無二義性描述出來的編輯任務,都可以而且應該能被自動化。例如,每一個C++程序都會有一個main函數;我們在定義.h文件時,都希望加入一些預處理指令#define來幫我們解決重復引用同一個頭文件而帶來的麻煩。

鼠標操作總是比鍵盤操作要慢的。這方面EMACS做得可算是到了極致。所以, EMACS用戶經常會吹噓:他們編輯的速度等同于他們思考的速度。

2)可擴展性高。
程序員預期的C++編輯器應該能提供一些編程的幫助,例如,語法高亮,自動補齊,自動排版,語法檢查等等。留心觀察一下gedit, vim, emacs, ultraEdit,就會發現它們提供的遠不是windows 記事本,寫字板提供的那么簡陋的功能。

對于一種新的語言,新的語法,它們應該能很方便地提供支持,而不停留在一種或幾種固定的語言上。

3)用戶可定制性高。
如果想長期從事研發, 特別是linux/unix下研發的話,那么你很有必要學好一個功能足夠的C++編輯器。有這么一句話:Linux下程序員分為三種,使用emacs的,使用vi的,還有其它。

EMACS是Stallman用lisp語言寫的一個GPL的C++編輯器。我們這里所說的emacs指的是GNU emacs,而非Xemacs。由于它的開放性,我們可以把它打造成一個功能強大的IDE。我們在安裝好CGYwin之后,也可以在Windows系統下使用 EMACS。CGYwin和MINGW是第三方寫的一個在Windows系統上模擬POSIX系統的工具。

EMACS與其說的是一個C++編輯器,倒不如說它是一個操作系統。我們可以用它來寫編程,寫wiki,收發郵件等等。EMACS主要是通過兩種方式來進行擴展:el腳本(elisp是lisp的一種方言)和第三方擴展包。EMACS的入門成本很高。

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

我們可以通過一條編譯指令來完成所有步驟。也可以分步執行。gcc有三個重要選項-E(只進行預處理), -S(生成匯編代碼), -g(生成帶原代碼調試符號的可執行文件,如果想用gdb調試的話,就應該在編譯時打開這個選項)。
GCC可以看作一個軟件包,除了編譯工具,它還集成了調試器gdb,性能分析工具gcov, gprof。

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

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

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

GDB即GNU的調試器,它是GCC附帶的一個性能優質的調試器。通過GDB和腳本結合,我們可以很好的實現回歸測試。
GDB可以運行于CLI和GUI兩種模式。

默認GDB是CLI模式的,我們可以去下載和安裝GUI模式的GDB,例如xxgdb, ddd等。一個更好的方式是在 EMACS中使用GDB。

C++編輯器包括visual studio工具的所有調試功能,還包括它沒有的功能。它除了支持,我們一般的設置斷點,單步跟蹤,step in, step out, step over等,還有一些強大的功能。在gdb中,我們可以有以下幾種暫停方式:斷點(BreakPoint)、觀察點(WatchPoint)、捕捉點(CatchPoint)、信號(Signals)、線程停止(Thread Stops)。

責任編輯:chenqingxiang 來源: NET130
相關推薦

2010-01-26 17:27:58

C++C程序

2011-05-13 18:10:55

CC++

2010-05-28 13:53:41

Linux開發工具

2010-05-12 14:40:07

移動統一通信

2021-07-05 09:18:08

UPS電源

2016-08-24 20:29:17

LinuxC編輯器

2010-05-28 14:14:37

Linux開發工具

2010-01-27 15:36:54

C++異常處理

2015-03-03 10:41:43

2012-05-28 10:38:25

imo即時通訊

2013-01-05 13:40:27

2010-01-25 18:05:40

C++語言

2011-01-10 16:17:49

2011-06-29 10:13:49

服務器災難恢復

2010-02-23 15:52:14

Python編輯器

2010-03-24 09:20:07

CentOS vi編輯

2023-06-12 08:22:56

圖形編輯器工具

2010-01-11 10:01:25

C++的編程工具

2022-06-20 08:00:00

Kubernete容器集群

2022-07-06 09:54:27

物聯網安全物聯網
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久久久久久久久久久9999 | 国产精品亚洲一区 | 日韩中文一区 | 激情久久久久 | 欧美黄色大片在线观看 | av一区二区在线观看 | 日韩久久久久 | 色欧美综合 | 中文字幕动漫成人 | 亚洲精品在线视频 | 欧美不卡一区 | 中文字幕免费在线 | 在线不卡视频 | 一级国产精品一级国产精品片 | 国产美女视频黄a视频免费 国产精品福利视频 | 午夜影院在线观看 | 91精品国模一区二区三区 | 91福利网址| 欧美成人性生活 | 精品中文字幕久久 | 久久久久久久av | 日韩精品激情 | 久久久国产一区二区三区 | 免费成人在线网站 | 免费黄色成人 | av国产精品 | 精品国产91 | 久久久妇女国产精品影视 | 成人不卡在线 | 国产成人精品网站 | 国产在线中文字幕 | 国产网站在线免费观看 | 久久精品国产精品青草 | 久久久做 | 欧美激情欧美激情在线五月 | 久久国产一区二区 | 国产精品久久久久无码av | 精品国产精品国产偷麻豆 | 欧美三级不卡 | 激情一区二区三区 | 国产精品免费看 |