Linux快速搭建C/C++開發環境


 

導讀:越來越多的程序員在Linux下進行C/C++的開發。本文以CentOS 7為例,教你快速搭建一個vi + gcc/g++ + Make + valgrind的開發環境。

本文字數:1500,閱讀時長大約:10分鍾



一、YUM源配置

本文假設你已經安裝好了一個 Linux 操作系統,關於如何安裝 Linux,可以參考《虛擬機安裝 Linux 最完整攻略》

 下載阿里的YUM源:

https://mirrors.aliyun.com/repo/

將/etc/yum.repos.d 目錄下所有.repo文件都刪除,然后把剛才下載的阿里源配置文件保存到該目錄下。

 

二、安裝gcc/g++

運行安裝命令

yum install -y gcc gcc-c++

安裝成功后,試一下gcc和g++是否安裝成功

 

 

三、安裝Git

通過Git我們可以下載安裝很多開源的軟件。關於Git是什么,可以參考我之前的文章《一篇文章快速搞懂什么是GitHub》,這里不再過多介紹。

 運行安裝命令

yum install -y git

 

 

四、安裝Vim

(1)安裝 Vim

運行安裝命令

yum install -y vim

 

(2)創建配置文件

在默認目錄下創建文件 ~/.vimrc,保存以下內容

 

  • 顯示行號:set number
  • 打開語法高亮:syntax on
  • Tab 大小:set tabstop=4
  • 縮進大小:set shiftwidth=4

保存成功后,試着用Vim寫一段代碼,發現已經可以顯示行號、語法高亮提示、並且tab縮進改為4個空格了。

 

 

(3)安裝 Vundle

Vundle是Vim bundle的縮寫,是一個Vim插件的管理器。通過Vundle我們可以安裝很多有用的插件。具體可以查閱一下GitHub上的信息:

https://github.com/VundleVim/Vundle.vim#about

 

運行下面的命令下載Vundle

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

 

將下面的內容追加到~/.vimrc中

set nocompatible

filetype off   

set rtp+=~/.vim/bundle/Vundle.vim

call vundle#begin()

Plugin 'VundleVim/Vundle.vim'

call vundle#end()            

filetype plugin indent on

 

 啟動Vim,運行命令:

:PluginInstall

這樣Vundle就安裝成功了。

 

(4)設置括號、引號匹配

目前左右兩個花括號或者圓括號還都需要你手動輸入,如果我們想

  • 輸入左括號補全右括號
  • 輸入左引號自動補全右引號

 那么我們需要用Vundle來安裝一個delimitMate插件。

 在.vimrc文件中添加一行 Plugin 'Raimondi/delimitMate'

 然后啟動Vim再次運行 :PluginInstall 命令。寫入一段代碼,看一看括號和引號的自動匹配功能是不是已經實現了。

 

(5)自動補全

自動補全是代碼編輯器中最重要的特性,當前Vim用的比較多的插件有YCM(YouCompleteMe)和Coc。具體的安裝步驟可以參見GitHub上的說明:

YCM: https://github.com/ycm-core/YouCompleteMe

Coc: https://github.com/neoclide/coc.nvim

 

五、編寫Makefile

Makefile非常重要,它定義了一系列規則,哪些文件需要編譯,編譯的順序,以及文件之間的依賴關系。會不會寫Makefile反映了一個程序員是否具備完成大型項目的能力。我下面寫一個簡單的Makefile,假如我們有以下幾個文件:

  • Cat.cpp, Cat.h:定義了Cat類
  • test.cpp:包含了main()函數,並且使用了Cat類

於是我們創建一個Makefile,內容如下。

注意每個命令行前需要是一個tab,不能有其他的空格,所以我們手動把Vim的tabstop改為8。

 

每一段的第一行表示文件的依賴關系,第二行表示使用到的命令。比如test文件是由Cat.o和test.o文件生成的;生成的命令是

g++ -Wall Cat.o test.o -o test

 

最后一段clean,表示清空目標文件所使用的命令。

 

Makefile編寫好以后,編譯項目只需要使用make命令,清空目標文件可以使用 make clean 命令:

 

 

六、使用Valgrind檢測內存泄漏

C/C++程序需要檢測是否有內存泄漏。Linux下最常用的一個工具是Valgrind。

 

首先安裝:

yum install -y valgrind

 

然后編寫一段有內存泄露的代碼來測試一下,

test.c

使用gcc,編譯,注意要使用 -g -Og 選項來幫助Valgrind調試

gcc -g -Og -std=c99 test.c -o test

 

然后使用Valgrind 命令來檢測內存泄漏:

valgrind --leak-check=full ./test

 

得到如下結果,可以看出有明顯的內存泄漏,並且是有test.c中第五行代碼引起的。

 

 

我們將代碼做一下修改,將動態分配的內存釋放掉:

 

重新編譯,並再次運行valgrind命令檢測,得到結果如下:

 

可以看到這次再沒有內存泄漏了。

 

七、總結

本文演示了在CentOS環境下,如何利用YUM、Git、Vundle等工具搭建 Vim + gcc/g++ + Make + valgrind的開發環境,希望對於在Linux下用C/C++編程的朋友們有一定的幫助。

 

 

推薦閱讀:

一篇文章快速搞懂什么是GitHub

虛擬機安裝 Linux 最完整攻略

Vi 和 Vim 的使用

 

 

 

 

獲取知識干貨、增加面試經驗、了解職場人生

歡迎關注微信公眾號

 


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM