linux可用的編譯器有:vim、Emace、Brackets、Lighttable、gedit、sublime text 3、GCC、Clang、visual studio、eclipse、EGCS、PGCC等等。
本教程操作環(huán)境:centos 6系統(tǒng)、Dell G3電腦。
Linux下的編輯器
1、vim
Vim是從 vi 發(fā)展出來的一個(gè)文本編輯器。它具有代碼補(bǔ)完、編譯及錯(cuò)誤跳轉(zhuǎn)等方便編程的功能,在程序員中被廣泛的被使用。和emacs并列成為L(zhǎng)unix系統(tǒng)用戶最喜歡的編輯器–俗稱神器。
2、Emace
Emacs,著名的集成開發(fā)環(huán)境和文本編輯器。Emacs被公認(rèn)為是最受專業(yè)程序員喜愛的代碼編輯器之一,另外一個(gè)是Vim。
特點(diǎn):Emacs不僅僅是一個(gè)編輯器,他是一個(gè)整合環(huán)境,或可稱它為集成開發(fā)環(huán)境,這些功能如讓使用者置身于全功能的操作系統(tǒng)中,在基于編輯器的功能基礎(chǔ)上,Emacs自行開發(fā)了一個(gè)“bourne-shell-like”的shell: EShell。
Emacs還可以:
收發(fā)電子郵件
通過FTP/TRAMP編輯遠(yuǎn)程檔案
通過Telnet登錄主機(jī)
上新聞組
登陸IRC和朋友交流
查看日歷
撰寫文章大綱
對(duì)多種編程語言的編輯
調(diào)試程序,結(jié)合GDB,EDebug等。支持C/C++,perl,python,lisp等等
玩游戲
計(jì)算器
記日記
管理日程,Task,ToDo,約會(huì)等
個(gè)人信息管理
目錄管理
文件比較
閱讀info和man文檔
瀏覽網(wǎng)站
為各種程序(TeX等)提供統(tǒng)一的操作界面
3、Brackets
Brackets也是一款為L(zhǎng)inux開發(fā)者設(shè)計(jì)的開源代碼編輯器,使用Brackets寫代碼,你不會(huì)被任何事情所打斷。比如在寫html代碼時(shí),即便你沒有保存代碼也可以及時(shí)預(yù)覽你的Web頁面效果。你也可以使用Theseus來檢查變量,Brackets默認(rèn)提供一種主題,當(dāng)然你也可以在擴(kuò)展中心獲取更多的主題。Brackets是一款基于web(html+css+JS)開發(fā)的web前端編輯器。它有許多普通編輯器難以實(shí)現(xiàn)的功能,是web前端開發(fā)者的神器。
4、LightTable
LightTable是一個(gè)免費(fèi)開放源代碼的編輯器,該編輯器有一個(gè)非常干凈的界面,并有大量擴(kuò)展。它與windows、Mac和Linux都兼容,是高度可定制的。使用Light Table,開發(fā)者只需打開一個(gè)瀏覽器窗口即可實(shí)時(shí)查看更改,并且支持不同的嵌入。
5、gedit
gedit無需多言,Linux各個(gè)發(fā)行版默認(rèn)都有的編輯器,類似于Windows的記事本,不過可以根據(jù)代碼類型著色,這點(diǎn)可比記事本牛逼多了,不過我一直沒有搜索到如何配置gedit才能讓他顯示行號(hào)和改變tab為4個(gè)空格,所以不是迫不得已不會(huì)用gedit編輯正式文件。
6、Sublime Text 3
是一款絕對(duì)值得一提的Linux代碼編輯器,因?yàn)樗泻?jiǎn)單而且超酷的功能特性。Sublime Text 3最獨(dú)特的地方就是它沒有獨(dú)特的功能,它僅僅是一個(gè)簡(jiǎn)單的代碼編輯器,有了它,你就可以非常方便地對(duì)多行代碼進(jìn)行修改了。利用Sublime Text 3你可以做操作文件、重命名變量、分離編輯和其他有趣的操作。
7、GCC
GCC 起初是 gnu 推出的 c語言編譯器,用于類 Unix 系統(tǒng)下的編程,所以名為 GNU C Compiler 。隨著眾多自由開發(fā)者的加入,GCC 發(fā)展迅速,如今已成為一個(gè)支持眾多語言的編譯器了,其中包括 C、C++、Ada、Object C 和 Java 等,以至于 GCC 開始被擴(kuò)展為 GNU Compiler Collection ,也就是“GNU 編譯器集合”的意思。
GCC 通常用來編譯 C 程序和 C++ 程序,編譯 C 程序一般用 gcc,編譯 C++ 程序則用 g++,由于 C++ 兼容 C 語言,g++ 也可以編譯 C 程序。我們知道,Linux 系統(tǒng)不以后綴名來區(qū)分文件類型,但是 gcc 或 g++ 則需要根據(jù)后綴名來區(qū)分程序文件的類型,如果后綴名不符合規(guī)范,則會(huì)提示文件類型無法識(shí)別,gcc 或 g++ 所遵行的部分后綴名命名規(guī)范如下表所示。
后綴:表示的文件類型 .c:C?語言源代碼文件; .a:靜態(tài)庫(kù)文件; .cpp/.cxx/.cc/.C:C++?源代碼文件; .h:頭文件; .i:預(yù)處理過的?C?源代碼文件; .ii:預(yù)處理過的?C++?源代碼文件; .m:Objective-C?源代碼文件; .o:編譯后的目標(biāo)文件; .s:匯編語言源代碼文件; .S:還需要預(yù)編譯的匯編語言源代碼文件。
8、Clang
Clang是一個(gè)C、C++、Objective-C和Objective-C++編程語言的編譯器前端。源代碼發(fā)布于BSD協(xié)議下。Clang將支持其普通Lambda表達(dá)式、返回類型的簡(jiǎn)化處理以及更好的處理constexpr關(guān)鍵字。
它采用了底層虛擬機(jī)(LLVM)作為其后端,它的目標(biāo)是提供一個(gè)GCC的替代品。主要由C++編寫。
Clang項(xiàng)目包括Clang前端和Clang靜態(tài)分析器等。性能優(yōu)異,其生成的抽象語法樹(Abstract Syntax Tree,AST)所耗用掉的內(nèi)存僅僅是GCC 的20%左右。編譯速度快、占用內(nèi)存小易于ide集成。
較早期程序設(shè)計(jì)的各個(gè)階段都要用不同的軟件來進(jìn)行處理,如先用字處理軟件編輯源程序,然后用鏈接程序進(jìn)行函數(shù)、模塊連接,再用編譯程序進(jìn)行編譯,開發(fā)者必須在幾種軟件間來回切換操作?,F(xiàn)在的編程開發(fā)軟件將編輯、編譯、調(diào)試等功能集成在一個(gè)桌面環(huán)境中,這樣就大大方便了用戶。接下來介紹一些集成開發(fā)環(huán)境:
9、Visual Studio
microsoft Visual Studio(簡(jiǎn)稱VS)是美國(guó)微軟公司的開發(fā)工具包系列產(chǎn)品。VS是一個(gè)基本完整的開發(fā)工具集,它包括了整個(gè)軟件生命周期中所需要的大部分工具,如uml工具、代碼管控工具、集成開發(fā)環(huán)境(IDE)等等。所寫的目標(biāo)代碼適用于微軟支持的所有平臺(tái),包括Microsoft Windows、Windows Mobile、Windows CE、.NET Framework、.NET Compact Framework和Microsoft Silverlight 及Windows Phone。
Visual Studio是目前最流行的Windows平臺(tái)應(yīng)用程序的集成開發(fā)環(huán)境。支持C類語言、Basic類語言、Java類語言及其他語言,因其強(qiáng)大的功能,占用了很大的用戶份額。
10、Eclipse
Eclipse 是一個(gè)開放源代碼的、基于Java的可擴(kuò)展開發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運(yùn)的是,Eclipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括Java開發(fā)工具(Java Development Kit,JDK),它是著名的跨平臺(tái)的自由集成開發(fā)環(huán)境(IDE)。
最初主要用來Java語言開發(fā),通過安裝不同的插件Eclipse可以支持不同的計(jì)算機(jī)語言,比如C++和Python等開發(fā)工具。Eclipse的本身只是一個(gè)框架平臺(tái),但是眾多插件的支持使得Eclipse擁有其他功能相對(duì)固定的IDE軟件很難具有的靈活性。許多軟件開發(fā)商以Eclipse為框架開發(fā)自己的IDE。
11、EGCS
EGCS(Experimental/Enhanced GNU Compiler System)這是gcc的發(fā)展方向, 把fortran等編譯器集成進(jìn)來, 它的構(gòu)造很清晰, 把對(duì)gcc的各種改進(jìn)/port都集成回去. 如gcc 2.7系列據(jù)說是沒有對(duì)Pentium進(jìn)行優(yōu)化的, 而egcs則把pgcc對(duì)Pentium的一些優(yōu)化集成進(jìn)去了。
12、PGCC
PGCC(Pentium GCC) 針對(duì)Pentium CPU進(jìn)行了編譯器優(yōu)化的compiler pgcc據(jù)說用JPEG壓縮解壓縮測(cè)試最快可比gcc快 30%!新版的pgcc都是基于egcs的, 以一個(gè)patch的形式release 。
相關(guān)推薦:《Linux視頻教程》