17 個 Linux 下用於 C/C++ 的最好的 IDE

2021-01-11 開源中國

C++,一個眾所周知的 C 語言的擴展,是一個優秀的、強大的、通用程式語言,它能夠提供現代化的、通用的編程功能,可以用於開發包括視頻遊戲、搜尋引擎、其他計算機軟體乃至作業系統等在內的各種大型應用。

C++,提供高度可靠性的同時還能夠允許操作底層內存來滿足更高級的編程要求。

雖然已經有了一些供程式設計師用來寫 C/C++ 代碼的文本編輯器,但 IDE 可以為輕鬆、完美的編程提供綜合的環境和組件。

在這篇文章裡,我們會向你展示一些可以在 Linux 平臺上找到的用於 C++ 或者其他程式語言編程的最好的 IDE。 

1. 用於 C/C++ 開發的 Netbeans

Netbeans 是一個自由而開源的、流行的跨平臺 IDE ,可用於 C/C++ 以及其他程式語言,可以使用由社區開發的插件展現了其完全的擴展性。

它包含了用於 C/C++ 開發的項目類型和模版,並且你可以使用靜態和動態函數庫來構建應用程式。此外,你可以利用現有的代碼去創造你的工程,並且也可以通過拖放的方式導入二進位文件來從頭構建應用。

讓我們來看看關於它的特性:

C/C++ 編輯器很好的整合了多線程的 GNU GDB 調試工具

支持代碼協助

支持 C++11 標準

在裡面創建和運行 C/C++ 測試程序

支持 QT 工具包

支持將已編譯的應用程式自動打包到 .tar,.zip 等歸檔文件

支持多個編譯器,例如: GNU、Clang/LLVM、Cygwin、Oracle Solaris Studio 和 MinGW

支持遠程開發

文件導航

原始碼檢查

主頁:https://netbeans.org/features/cpp/index.html

2. Code::Blocks

Code::Blocks 是一個免費的、具有高度擴展性的、並且可以配置的跨平臺 C++ IDE,它為用戶提供了必備而典範的功能。它具有一致的界面和體驗。

最重要的是,你可以通過用戶開發的插件擴展它的功能,一些插件是隨同 Code::Blocks 發布的,而另外一些則不是,它們由 Code::Block 開發團隊之外的個人用戶所編寫的。

其功能分為編譯器、調試器、界面功能,它們包括:

支持多種編譯器如 GCC、clang、Borland C++ 5.5、digital mars 等等

非常快,不需要 makefile

支持多個目標平臺的項目

支持將項目組合起來的工作空間

GNU GDB 接口

支持完整的斷點功能,包括代碼斷點,數據斷點,斷點條件等等

顯示本地函數的符號和參數

用戶內存導出和語法高亮顯示

可自定義、可擴展的界面以及許多其他的的功能,包括那些用戶開發的插件添加功能

主頁: http://www.codeblocks.org

3. Eclipse CDT (C/C++ Development Tooling)

Eclipse 在編程界是一款著名的、開源的、跨平臺的 IDE。它給用戶提供了一個很棒的界面,並支持拖拽功能以方便界面元素的布置。

Eclipse CDT 是一個基於 Eclipse 主平臺的項目,它提供了一個完整功能的 C/C++ IDE,並具有以下功能:

主頁: http://www.eclipse.org/cdt/

4. CodeLite IDE

CodeLite 也是一款為 C/C++、JavaScript(Node.js)和 PHP 編程專門設計打造的自由而開源的、跨平臺的 IDE。

它的一些主要特點包括:

主頁: http://codelite.org/

5. Bluefish 編輯器

Bluefish 不僅僅是一個一般的編輯器,它是一個輕量級的、快捷的編輯器,為程式設計師提供了如開發網站、編寫腳本和軟體代碼的 IDE 特性。它支持多平臺,可以在 Linux、Mac OSX、FreeBSD、OpenBSD、Solaris 和 Windows 上運行,同時支持包括 C/C++ 在內的眾多程式語言。

下面列出的是它眾多功能的一部分:

主頁: http://bluefish.openoffice.nl

6. Brackets 代碼編輯器

Brackets 是一個現代化風格的、開源的文本編輯器,專為 Web 設計與開發打造。它可以通過插件進行高度擴展,因此 C/C++ 程式設計師通過安裝 C/C++/Objective-C 包來使用它來開發,這個包用來在輔助 C/C++ 代碼編寫的同時提供了 IDE 之類的特性。

主頁: http://brackets.io/

7. Atom 代碼編輯器

Atom 也是一個現代化風格、開源的多平臺文本編輯器,它能運行在 Linux、Windows 或是 Mac OS X 平臺。它的定製可深入底層,用戶可以自定義它,以便滿足各種編寫代碼的需求。

它功能完整,主要的功能包括:

內置了包管理器

智能的自動補完

內置文件瀏覽器

查找、替換以及其他更多的功能

主頁: https://atom.io/

安裝指南: http://www.tecmint.com/atom-text-and-source-code-editor-for-linux/

8. Sublime Text 編輯器

Sublime Text 是一個完善的、跨平臺的文本編輯器,可用於代碼、標記語言和一般文字。它可以用來編寫 C/C++ 代碼,並且提供了非常棒的用戶界面。

它的功能列表包括:

主頁: https://www.sublimetext.com

安裝指南: http://www.tecmint.com/install-sublime-text-editor-in-linux/

9. JetBrains CLion

JetBrains CLion 是一個收費的、強大的跨平臺 C/C++ IDE。它是一個完全整合的 C/C++ 程序開發環境,並提供 Cmake 項目模型、一個嵌入式終端窗口和一個主要以鍵盤操作的編碼環境。

它還提供了一個智能而現代化的編輯器,具有許多令人激動的功能,提供了理想的編碼環境,這些功能包括:

主頁: https://www.jetbrains.com/clion/

10. 微軟的 Visual Studio Code 編輯器

Visual Studio 是一個功能豐富的、完全整合的、跨平臺開發環境,運行在 Linux、Windows 和 Mac OS X 上。 最近它向 Linux 用戶開源了,它重新定義了代碼編輯這件事,為用戶提供了在 Windows、Android、iOS 和 Web 等多個平臺開發不同應用所需的一切工具。

它功能完備,功能分類為應用程式開發、應用生命周期管理、擴展和集成特性。你可以從 Visual Studio 官網閱讀全面的功能列表。

主頁: https://www.visualstudio.com

11. KDevelop

KDevelop 是另一個自由而開源的跨平臺 IDE,能夠運行在 Linux、Solaris、FreeBSD、Windows、Mac OS X 和其他類 Unix 作業系統上。它基於 KDevPlatform、KDE 和 Qt 庫。KDevelop 可以通過插件高度擴展,功能豐富且具有以下顯著特色:

主頁: https://www.kdevelop.org

12. Geany IDE

Geany 是一個免費的、快速的、輕量級跨平臺 IDE,只需要很少的依賴包就可以工作,獨立於流行的 Linux 桌面環境下,比如 GNOME 和 KDE。它需要 GTK2 庫實現功能。

它的特性包括以下列出的內容:

支持語法高亮顯示

代碼摺疊

調用提示

符號名自動補完

符號列表

代碼導航

一個簡單的項目管理工具

可以編譯並運行用戶代碼的內置系統

可以通過插件擴展

主頁: http://www.geany.org/

13. Ajunta DeveStudio

Ajunta DevStudio 是一個簡單,強大的 GNOME 界面的軟體開發工作室,支持包括 C/C++ 在內的幾種程式語言。

它提供了先進的編程工具,比如項目管理、GUI 設計、交互式調試器、應用程式嚮導、原始碼編輯器、版本控制等。此外,除了以上特點,Ajunta DeveStudio 也有其他很多不錯的 IDE 功能,包括:

主頁: http://anjuta.org/

14. GNAT Programming Studio

GNAT Programming Studio 是一個免費的、易於使用的 IDE,設計的目的用於統一開發人員與他/她的代碼和軟體之間的交互。

它通過高亮程序的重要部分和邏輯從而提升原始碼導航體驗,打造了一個理想的編程環境。它的設計目標是為你帶來更舒適的編程體驗,使用戶能夠從頭開始開發全面的系統。

它豐富的特性包括以下這些:

直觀的用戶界面

對開發者的友好性

支持多種程式語言,跨平臺

靈活的 MDI(多文檔界面)

高度可定製

使用喜歡的工具獲得全面的可擴展性

主頁: http://libre.adacore.com/tools/gps/

15. Qt Creator

這是一款收費的、跨平臺的 IDE,用於創建連接設備、用戶界面和應用程式。Qt Creator 可以讓用戶比應用的編碼做到更多的創新。

它可以用來創建移動和桌面應用程式,也可以連接到嵌入式設備。

它的優點包含以下幾點:

複雜的代碼編輯器

支持版本控制

項目和構建管理工具

支持多屏幕和多平臺,易於構建目標之間的切換等等

主頁: https://www.qt.io/ide/

16. Emacs 編輯器

Emacs 是一個自由的、強大的、可高度擴展的、可定製的、跨平臺文本編輯器,你可以在 Linux、Solaris、FreeBSD、NetBSD、OpenBSD、Windows 和 Mac OS X 這些系統中使用該編輯器。

Emacs 的核心也是一個 Emacs Lisp 的解釋器,Emacs Lisp 是一種基於 Lisp 的程式語言。在撰寫本文時,GNU Emacs 的最新版本是 24.5,Emacs 的基本功能包括:

主頁: https://www.gnu.org/software/emacs/

17. VI/VIM 編輯器

Vim,一款 VI 編輯器的改進版本,是一款自由的、強大的、流行的並且高度可配置的文本編輯器。它為有效率地文本編輯而生,並且為 Unix/Linux 使用者提供了激動人心的編輯器特性,因此,它對於撰寫和編輯 C/C++ 代碼也是一個好的選擇。

總的來說,與傳統的文本編輯器相比,IDE 為編程提供了更多的便利,因此使用它們是一個很好的選擇。它們帶有激動人心的特徵並且提供了一個綜合性的開發環境,有時候程式設計師不得不陷入對最好的 C/C++ IDE 的選擇。

在網際網路上你還可以找到許多 IDE 來下載,但不妨試試我們推薦的這幾款,可以幫助你儘快找到哪一款是你需要的。

via: tecmint.com

譯文出處:Linux中國  

相關焦點

  • 剖析C語言中a=a+++a的無聊問題
    c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile
  • 嵌入式Linux開發環境的搭建之:嵌入式開發環境的搭建
    其中,binutils主要用於生成一些輔助工具,如objdump、as、ld等;gcc是用來生成交叉編譯器的,主要生成arm-linux-gcc交叉編譯工具(應該說,生成此工具後已經搭建起了交叉編譯環境,可以編譯Linux內核了,但由於沒有提供標準用戶函數庫,用戶程序還無法編譯);glibc主要是提供用戶程序所使用的一些基本的函數庫。這樣,交叉編譯環境就完全搭建起來了。
  • 「正點原子Linux連載」第四十二章新字符設備驅動實驗
    解決這兩個問題最好的方法就是要使用設備號的時候向Linux內核申請,需要幾個就申請幾個,由Linux內核分配設備可以使用的設備號。首先要創建一個class類,class是個結構體,定義在文件include/linux/device.h裡面。
  • Linux如何安裝軟體
    ivh glibc-devel-2.5-24.i386.rpmrpm -ivh libgomp-4.1.2-42.el5.i386.rpmrpm -ivh gcc-4.1.2-42.el5.i386.rpmg++rpm -ivh libstdc++-devel-4.1.2-48.el5.i386.rpmrpm -ivh gcc-c++
  • Linux下內存洩漏工具
    嵌入式linux QQ交流群:175159209,歡迎愛好者加入交流技術問題!
  • Linux下C編程基礎之:本章小結與思考與練習
    3.9 思考與練習在Linux下綜合使用vi、gcc編譯器和gdb調試器開發漢諾塔遊戲程序。漢諾塔遊戲介紹如下。約19世紀末,在歐洲的商店中出售一種智力玩具,在一塊銅板上有三根杆,如圖3.10所示。其中,最左邊的杆上自上而下、由小到大順序串著由64個圓盤構成的塔。
  • Linux下scp命令使用教程
    scp是secure copy的簡寫,用於在Linux下進行遠程拷貝文件的命令,scp傳輸是加密的,可能會稍微影響一下速度其佔用的系統資源非常小。非常適合遠程文件的拷貝。本篇我們就詳細介紹下scp的用法。
  • linux下SCP指令的使用
    通常在Linux下執行遠程拷貝文件使用,他和cp指令類似,只不過cp是本機使用,而SCP則是跨機器使用。SCP傳輸是基於SSH的加密傳輸,也就是說知道ssh的帳密就可以上下載文件了,因此比較安全。SCP常用實例(在linux的centos環境下為例,從192.168.200.10現在一個文件到本地)1、從遠程伺服器下載文件到本地伺服器。scp 用戶名@IP位址:/home/1.txt .
  • C++程式設計師的職業生涯規劃
    1、一年以上伺服器開發經驗,熟悉C++語言; 2、熟悉TCP/IP協議,熟悉網絡編程; 3、熟悉標準SQL語言,熟悉Mysql更佳; 4、熟悉linux,熟練掌握linux基本操作命令; 1. 2年以上C++遊戲伺服器開發方面的工作經驗; 2. 對TCP協議相關的開發有全面的認知; 3.
  • Linux2.6內核驅動移植參考
    c)包含 linux/cdev.h>,利用struct cdev和file_operations連接 struct cdev *cdev_alloc(void); void cdev_init(struct cdev *cdev, struct file_operations *fops); int cdev_add(struct cdev *cdev, dev_t
  • Linux基礎命令之:實驗內容及小結
    本文引用地址:http://www.eepw.com.cn/article/257155.htm2.4實驗內容2.4.1在Linux下解壓常見軟體在Linux下安裝一個完整的軟體(嵌入式Linux的必備工具——交叉編譯工具),掌握Linux常見命令
  • 如何在Linux Ubuntu中安裝IntelliJ IDEA最新版
    官方Linux二進位文件可從以下連結下載:  下載IntelliJ IDEA 2017.2:https://www.jetbrains.com/idea/download/#section=linux  解壓縮包,運行ide文件夾中的idea.sh啟動IDE,可以手動創建應用程式啟動器。
  • linux下安裝虛擬機,完美在linux系統下運行通達信軟體
    現在越來越多的人使用linux系統,現在很多的國產作業系統都是基於linux內核上的。雖說不少的軟體都可以運行在linux的系統上。但是對於股票軟體來說在linux上的使用是一個硬傷。能夠運行在linux下的國內股票軟體少之又少。
  • 嵌入式Linux的GDB調試環境建立
    假定在debug下編譯gdb套件,你前面已經設定了TARGET,PREFIX參數。其中TARGET是你的目標板,我的是arm-linux,PREFIX是你要安裝的目標文件夾。$tar xvzf gdb-5.2.1.tar.gz $mkdir debug/build-gdb $cd build-gdb $..
  • 嵌入式linux新手入門手記-準備qt5.4.1開發平臺
    /source目錄下,進入到./source目錄下執行configure工具生成編譯選項,這裡要進行三步工作:  A、設置交叉編譯的環境變量。這裡需要注意一點,我們在交叉編譯qt5.4.1的工具包時,涉及到2種不同的編譯:第一種是使用ubuntu安裝的GCC和G++編譯qmake工具,這些qmake工具將運行在ubuntu下,用於將後續自己編寫的qt應用程式的原始碼編譯成能夠運行在arm平臺上的目標可執行程序;第二種是使用arm-linux-gnueabihf編譯器,將qt5.4.1的庫編譯成運行於arm平臺的靜態庫或者共享庫。
  • 從串口驅動到Linux驅動模型,想轉Linux的必會!
    /mnt:這個目錄一般是用於存放掛載儲存設備的掛載目錄的,比如有cdrom等目錄。可以參看/etc/fstab的定義。/media:有些linux的發行版使用這個目錄來掛載那些usb接口的移動硬碟(包括U盤)、CD/DVD驅動器等等。/opt:這裡主要存放那些可選的程序。/proc:可以在這個目錄下獲取系統信息。
  • 一張圖看懂Linux內核中Percpu變量的實現
    所以不管是c/c++/rust,還是java/c#等,都內置了對thread local變量的支持。但你知道嗎,不僅是在程式語言中,在linux內核中,也有一個類似的機制,用來實現類似的目的,它叫做percpu變量。
  • C/C++ IDE CodeLite 2.0 發布
    個人比較喜歡 IDE 的補全,就先介紹下曾經使用過的一些 IDE 的補全:OmniCppComplete,Vim 的補全插件,需要 Ctags,對於 Boost 這樣大的庫,有時一旦我按下快捷鍵令其補全時,會對 include/boost 文件夾進行掃描,非常慢(我的配置中沒有 path 內容,有誰指點我為什麼?),有些補全結果集中很多內容不符合上下文。
  • C語言之父和Linux之父誰更偉大?
    如果還不理解,舉個例子,我們要建一個大廈,圖紙什麼的都已經設計好了,要開工建設。 那麼用於建造大樓的各種設備和工具:塔吊、腳手架、鉗子、螺絲刀、水平儀、捲尺等等,這些所有用到的所有工具,都是無數的公司的公司經過多年不斷研發積累才達到今天的標準。
  • 基於ARM920T微處理器的IDE硬碟接口設計與實現
    該處理器擁有獨立的16KB指令Cache和16KB數據Cache、MMU、支持TFT的LCD控制器、NAND快閃記憶體控制器、3路UART、4路DMA、4路帶PWM的Timer、I/O口、RTC、8路10位ADC、TouchScreen接口、IIC-BuS接口、IIS-BuS接口、2個USB主機、1個USB設備、SD主機和MMC接口和2路SPI。S3C2410處理器最高可運行在268MHz。