自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何在Linux下進(jìn)行C++開發(fā)

開發(fā) 后端
C++開發(fā)工具而言,可以與Windows能同比較的,莫過(guò)于Linux/Unix下C++開發(fā),可謂各種各樣。

Linux是一類Unix計(jì)算機(jī)操作系統(tǒng)的統(tǒng)稱,Linux操作系統(tǒng)的內(nèi)核的名字也是“Linux”, 在linux下進(jìn)行C++開發(fā),需要注意許多問(wèn)題,比如:減少不必要的編輯動(dòng)作,減少編輯的時(shí)間。

Windows下,開發(fā)工具多以集成開發(fā)環(huán)境IDE的形式展現(xiàn)給最終用戶。例如,VS2005集成了編輯器,宏匯編ml,C /C++編譯器cl,資源編譯器rc,調(diào)試器,文檔生成工具, nmake。它們以集成方式提供給最終用戶,對(duì)于初學(xué)者而言十分方便。

但是,這種商業(yè)模式,直接導(dǎo)致用戶可定制性差,不利于自動(dòng)化,集成第三方工具的能力弱。例如,無(wú)法定制一些宏來(lái)處理一些重復(fù)操作;體會(huì)不到自動(dòng)化makefile一步到位快感;無(wú)法遠(yuǎn)程登錄到服務(wù)器上進(jìn)行開發(fā);無(wú)法使用某種”粘合劑”來(lái)把第三方工具(例如,文本工具,字符串工具)有效地調(diào)用起來(lái)??梢哉f(shuō),良好的商業(yè)支持和傻瓜式開發(fā),是它們主要的優(yōu)點(diǎn)。

linux下,C++開發(fā)工具被切割成一個(gè)個(gè)獨(dú)立的小工具。各自處理不同的問(wèn)題。例如,編輯器(emacs, vim)用來(lái)進(jìn)行編輯程序的,調(diào)試器(gdb)用來(lái)調(diào)試程序,編譯器(GCC)用來(lái)編譯和鏈接程序的,性能分析工具(gcov, gprof)用來(lái)優(yōu)化程序的,文檔生成器(doxygen)用來(lái)生成文檔的。

同時(shí),還有一些系統(tǒng)工具和系統(tǒng)知識(shí),我們是很有必要了解的:程序自動(dòng)化機(jī)制 makefile,系統(tǒng)粘合劑shell,系統(tǒng)查找工具grep, locate, find。其它的工具(例如ctags, OCI公司的MPC等等),一旦熟練掌握,它們將成為你手中的利器。

本文主要是一些針對(duì)LINUX下開發(fā)工具使用的經(jīng)驗(yàn)之談。由于,工具品種繁多,我們沒(méi)有能力也沒(méi)有必要一一介紹。對(duì)于LINUX下IDE工具,例如 eclipse, anjuta等,它們雖然也很實(shí)用,但是使用起來(lái)比較簡(jiǎn)單,而且目前還算不上主流。所以,它們將不被著重介紹。

同時(shí),本文也不打算寫成各個(gè)工具的操作手冊(cè),只著眼于介紹各個(gè)工具的想要解決的問(wèn)題、運(yùn)行機(jī)理和主要特性。

要進(jìn)行開發(fā),第一件事情就是選擇一個(gè)合適的編輯器。編輯器選擇有幾個(gè)要素:

1)減少不必要的編輯動(dòng)作,減少編輯的時(shí)間。一切能夠無(wú)二義性描述出來(lái)的編輯任務(wù),都可以而且應(yīng)該能被自動(dòng)化。

例如,每一個(gè)C++開發(fā)都會(huì)有一個(gè)main函數(shù);我們?cè)诙x.h文件時(shí),都希望加入一些預(yù)處理指令#define來(lái)幫我們解決重復(fù)引用同一個(gè)頭文件而帶來(lái)的麻煩。鼠標(biāo)操作總是比鍵盤操作要慢的。這方面EMACS做得可算是到了極致。所以, EMACS用戶經(jīng)常會(huì)吹噓:他們編輯的速度等同于他們思考的速度。

2)可擴(kuò)展性高。程序員預(yù)期的編輯器應(yīng)該能提供一些編程的幫助,例如,語(yǔ)法高亮,自動(dòng)補(bǔ)齊,自動(dòng)排版,語(yǔ)法檢查等等。

留心觀察一下gedit, vim, emacs, ultraEdit,就會(huì)發(fā)現(xiàn)它們提供的遠(yuǎn)不是windows 記事本,寫字板提供的那么簡(jiǎn)陋的功能。對(duì)于一種新的語(yǔ)言,新的語(yǔ)法,它們應(yīng)該能很方便地提供支持,而不停留在一種或幾種固定的語(yǔ)言上。

3)用戶可定制性高。如果想長(zhǎng)期從事研發(fā), 特別是linux/unix下研發(fā)的話,那么你很有必要學(xué)好一個(gè)功能足夠的編輯器。

有這么一句話:Linux下程序員分為三種,使用emacs的,使用vi的,還有其它。EMACS是Stallman用lisp語(yǔ)言寫的一個(gè)GPL的編輯器。我們這里所說(shuō)的emacs指的是GNU emacs,而非Xemacs。

由于它的開放性,我們可以把它打造成一個(gè)功能強(qiáng)大的IDE。我們?cè)诎惭b好CGYwin之后,也可以在Windows系統(tǒng)下使用 EMACS。CGYwin和MINGW是第三方寫的一個(gè)在Windows系統(tǒng)上模擬POSIX系統(tǒng)的工具。

EMACS與其說(shuō)的是一個(gè)編輯器,倒不如說(shuō)它是一個(gè)操作系統(tǒng)。我們可以用它來(lái)寫編程,寫wiki,收發(fā)郵件等等。C++開發(fā)主要是通過(guò)兩種方式來(lái)進(jìn)行擴(kuò)展:el腳本(elisp是lisp的一種方言)和第三方擴(kuò)展包。EMACS的入門成本很高。

由于是純鍵盤操作,所以需要記憶大量的快捷鍵;功能強(qiáng)大是通過(guò)用戶添加一些擴(kuò)展包,lisp腳本來(lái)實(shí)現(xiàn)的。如何正確配置和修改是很需要耐心和技巧的。

【編輯推薦】

  1. C與C++中標(biāo)準(zhǔn)輸入實(shí)現(xiàn)方式上的一點(diǎn)區(qū)別
  2. C++編譯器如何對(duì)Const常量進(jìn)行分配存儲(chǔ)空間
  3. C++類庫(kù)設(shè)計(jì)的基本構(gòu)思與方法
  4. 玩轉(zhuǎn)C++語(yǔ)言的幾種方法
  5. 如何更好的進(jìn)行C++代碼編制
責(zé)任編輯:chenqingxiang 來(lái)源: NET130
相關(guān)推薦

2010-01-28 10:33:10

C++開發(fā)程序

2010-01-11 09:28:34

C++編程

2023-01-12 23:21:15

編程GCC 標(biāo)志Linux

2010-01-20 13:29:40

C++環(huán)境

2019-09-29 09:40:20

LinuxWindowsMacOS

2010-01-12 15:13:37

Visual C++環(huán)

2016-08-16 08:26:19

Linuxsignalsigaction

2014-12-23 09:37:09

Linuxrsync

2017-01-05 12:21:00

LinuxPyCharm安裝

2023-09-27 23:24:50

C++鏈表

2010-01-20 11:02:42

C++開發(fā)環(huán)境

2010-01-15 18:06:20

C++引用

2010-01-27 15:29:45

C++異常處理

2010-01-20 17:48:07

C++ 函數(shù)重載

2010-01-20 09:32:30

C++類

2010-01-22 18:06:24

C++代碼

2010-07-09 09:52:36

C#Linux

2021-06-10 09:05:43

Linux命令大文件切割

2011-03-09 15:54:34

LAMP

2022-04-22 15:06:59

C++PythonJava
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)