程序員的世界,總繞不開兩樣?xùn)|西:一個是寫代碼,另一個是配環(huán)境。尤其是在 Linux 下開發(fā) C 和 C++,很多新人被各種工具鏈、依賴庫和配置搞得頭昏腦漲,仿佛一不小心就能把系統(tǒng)玩崩潰。但其實,搭建一個好用的開發(fā)環(huán)境并不難,只要方法對頭,分分鐘讓你覺得 “編程,原來這么絲滑!”
今天,就跟著小康一步步把 Linux 的 C、C++ 環(huán)境搭建得妥妥的,學(xué)會之后,能讓你寫代碼寫到飛起??!
Step 1: 裝上基礎(chǔ)設(shè)施,起步不迷路
1.1 裝系統(tǒng):選擇 Linux 發(fā)行版
搭建開發(fā)環(huán)境的第一步,得有塊地?。inux 系統(tǒng)是主場:
- 常見的 Linux 發(fā)行版:Ubuntu(新手友好、 資料豐富),Debian( 穩(wěn)定可靠,適合進階用戶 )。
- 如果是新手,直接在 Windows 上用 VMware 虛擬機 或 WSL(Windows Subsystem for Linux)搞起,簡單又省事。
- 資深開發(fā)者:直接裝雙系統(tǒng),甚至用云服務(wù)器(阿里云/騰訊云隨便挑)。
Tips:
- 初學(xué)者優(yōu)先考慮 Ubuntu 或 WSL,簡單不折騰,Ubuntu 建議安裝 Desktop 版(桌面版)。
- 硬盤空間建議分配 50GB 以上,避免后續(xù)安裝工具時告急。
- 內(nèi)存建議分配至少 4GB,運行開發(fā)工具更流暢;8GB 以上更佳。
- CPU 核心數(shù)至少設(shè)置為 4 核,保證編譯和多任務(wù)處理不卡頓。
- 網(wǎng)絡(luò)適配器選擇橋接模式,虛擬機可以直接訪問宿主機網(wǎng)絡(luò),聯(lián)網(wǎng)更方便。
PS:沒必要為環(huán)境花大錢,初學(xué)者一臺普通電腦 + 免費虛擬機環(huán)境足夠用。
因為小康的主力開發(fā)環(huán)境是 Ubuntu,所以接下來的步驟會基于 Ubuntu 系統(tǒng),如果你選的也是 ubuntu,那跟著我操作準沒錯!
1.2 安裝必備的編譯工具鏈 (GCC、G++ 和 Make 等基礎(chǔ)工具包)
裝上 C/C++ 編譯器,Linux 下最常見的是 GCC:
sudo apt update # 更新軟件包列表,確保你的系統(tǒng)知道有哪些最新的軟件包和更新。
sudo apt install build-essential # 安裝構(gòu)建工具包,包含編譯 C/C++ 程序所需的基礎(chǔ)工具,如 gcc、g++、make 等。
sudo apt install build-essential
這條命令干了幾件事:
- 配上 Make 工具,讓你能用
Makefile
自動化編譯。
安裝完后,試試它們是否裝好了:
gcc --version
g++ --version
make --version
如果版本號跳出來了,恭喜你,第一步搞定!
Step 2: 配個順手的代碼編輯器(Vim、VS Code、CLion,三劍客)
2.1 終端黨:Vim(必會)
- Vim 是 Linux 系統(tǒng)的標配編輯器,但剛上手可能有點懵圈。
裝一下:
sudo apt install vim
初次使用可以先簡單學(xué)幾個快捷鍵,比如:
2.2 GUI 黨:VS Code (強烈建議)
如果你更習(xí)慣圖形化界面,想要輕便又功能強大的編輯器,直接選 VS Code,上手簡單,插件生態(tài)豐富,能滿足絕大多數(shù) C/C++ 開發(fā)需求。
在 Ubuntu 上通過命令行安裝也很簡單:
下載 VS Code:
直接去官網(wǎng) https://code./,把 .deb 文件下載下來:
安裝 VS Code:用系統(tǒng)自帶的安裝工具裝上去:
sudo dpkg -i vscode.deb
- 修復(fù)依賴(如果有問題):安裝過程中如果提示有依賴沒裝,運行這行命令搞定:
sudo apt-get -f install
安裝插件:打開 VS Code 左側(cè)插件市場(小積木圖標),搜索以下插件并安裝:
- Code Runner(可選):一鍵運行代碼(運行小型代碼片段、測試代碼邏輯時非常方便)
- CMake Tools:如果項目用到 CMake,這個插件很方便。
裝完后,直接在項目根目錄輸入 code .
就能啟動 VS Code,界面清爽、功能強大,寫 C/C++ 程序不要太舒服!
2.3 高級黨:CLion(可選)
如果你追求更強大的功能和更智能的體驗,可以試試 JetBrains 出品的 CLion。這是專為 C/C++ 開發(fā)打造的 IDE,優(yōu)點一大堆:
- 自動管理 CMake 配置:再也不用手動折騰 CMakeLists.txt。
- 內(nèi)置調(diào)試器:支持 GDB 和 LLDB,調(diào)試功能強大,界面直觀好用。
- 跨平臺一致性:不管是 Windows、Linux,還是 macOS,都能保證一致流暢的開發(fā)體驗。
安裝方式:
- 下載:直接去官網(wǎng) https://www./clion/ 下載對應(yīng)環(huán)境的版本即可(支持 windows 和 Linux )
- 費用: 學(xué)生或新手可以申請免費使用(JetBrains 提供學(xué)生版和試用期),不想付費可以網(wǎng)上自行百度破解版。
Step 3: 讓代碼跑起來:編譯與運行的正確姿勢
3.1 編譯 & 運行
寫了第一段 C 代碼,保存成 hello.c
,可以這么搞:
#include <stdio.h>
int main() {
printf('Hello, World!\n');
return 0;
}
編譯運行:
gcc hello.c -o hello
./hello
C++ 同理:
#include <iostream>
using namespace std;
int main() {
cout << 'Hello, C++!' << endl;
return 0;
}
編譯運行:
g++ hello.cpp -o hello
./hello
3.2 常見問題排查
- 報錯:
gcc: command not found
?說明 GCC 沒裝對,回到 Step 1.2 再試試。 - 缺少
stdio.h
或 iostream
?
可能是編譯器路徑出問題了,用 sudo apt reinstall build-essential
重新裝一遍。
Step 4: 配好調(diào)試工具,開發(fā)效率翻倍
4.1 安裝 GDB
調(diào)試工具 GDB 是 C/C++ 開發(fā)的必備利器:
sudo apt install gdb
簡單調(diào)試流程:
g++ -g hello.cpp -o hello # 編譯的時候必須要加上 -g 參數(shù),不然調(diào)試不了。
gdb ./hello
進入 gdb 后:
break main
:在 main()
函數(shù)處打斷點。
4.2 配合 VS Code 調(diào)試
如果你用的是 VS Code,裝個 C/C++ 調(diào)試插件后,直接配置 launch.json
文件,整個調(diào)試流程會更直觀。
4.3 排查內(nèi)存問題:Valgrind
內(nèi)存泄漏是 C/C++ 開發(fā)中常見的坑,Valgrind 是個強大的工具,可以幫你檢查程序的內(nèi)存問題。
1、安裝 Valgrind:
sudo apt install valgrind -y
2、使用方法:假設(shè)你有一個編譯好的程序 your_program
,直接運行:
valgrind ./your_program
它會分析你的程序運行過程中分配和釋放的內(nèi)存。
3、看結(jié)果:
- 正常情況: 如果看到
All heap blocks were freed
,恭喜,沒有內(nèi)存泄漏! - 有問題: 如果顯示
definitely lost
或 indirectly lost
,說明有內(nèi)存沒有正確釋放,需要檢查代碼,比如 malloc
和 free
是否匹配。
一句話總結(jié): 裝個 Valgrind,跑一遍程序,就能快速找到內(nèi)存泄漏問題。簡單高效,C/C++ 開發(fā)必備!
Step 5: 開發(fā)效率提升:從配置到自動化
5.1 編寫 Makefile,解放雙手
手動敲編譯命令容易出錯,Makefile 讓一切變得自動化:
# 定義編譯器,這里選擇 GCC
CC = gcc
# 定義編譯選項:
# -Wall:打開所有警告
# -g:生成調(diào)試信息
CFLAGS = -Wall -g
# 定義目標規(guī)則 'all',默認目標是 main
all: main
# 定義如何生成 main 可執(zhí)行文件
# 使用目標 main.o 和 func.o 鏈接生成 main
main: main.o func.o
$(CC) $(CFLAGS) -o main main.o func.o
# 定義生成 .o 文件的通用規(guī)則
# 這里 $< 表示匹配的 .c 文件
%.o: %.c
$(CC) $(CFLAGS) -c $<
# 定義清理規(guī)則,刪除所有中間文件和最終生成的目標文件
clean:
rm -rf *.o main
執(zhí)行命令:
make # 自動編譯,生成目標文件 main
make clean # 清理編譯生成的中間文件和可執(zhí)行文件
5.2 使用 CMake:大型項目福音
寫 Makefile 太麻煩?那就用 CMake!步驟如下:
sudo apt install cmake -y
- 項目根目錄創(chuàng)建
CMakeLists.txt
文件:
# 指定最低版本要求,這里是 3.10
cmake_minimum_required(VERSION 3.10)
# 定義項目名稱,這里是 MyProject
project(MyProject)
# 添加可執(zhí)行文件 main,并指定需要的源文件
# main.cpp 和 func.cpp 是需要編譯的 C++ 源文件
add_executable(main main.cpp func.cpp)
# 創(chuàng)建一個名為 build 的目錄,存放生成的構(gòu)建文件
mkdir build && cd build
# 使用 CMake 生成 Makefile,.. 表示查找上級目錄中的 CMakeLists.txt
cmake ..
# 使用 make 根據(jù)生成的 Makefile 編譯項目
make
5.3 Makefile 和 CMake 的對比
- Makefile:適合小型項目,手動維護規(guī)則,簡單直接。
- CMake:適合跨平臺和大型項目,自動生成 Makefile 等構(gòu)建文件,更靈活強大。
Step 6: 環(huán)境美化:打造專屬開發(fā)體驗
6.1 別再盯著黑乎乎的終端了!
換個好看的終端工具,比如 zsh + oh-my-zsh。
sudo apt install zsh
chsh -s $(which zsh)
sh -c '$(curl -fsSL https://raw./ohmyzsh/ohmyzsh/master/tools/install.sh)'
如果上面的命令卡住:
- 打開瀏覽器訪問:https://raw./ohmyzsh/ohmyzsh/master/tools/install.sh
- 將內(nèi)容復(fù)制到你的 Linux 主機用戶主目錄
~
下的 myinstall.sh
的文件中:
vim ~/myinstall.sh
sh ~/myinstall.sh
6.2 打造個性化界面
Powerlevel10k 是一款功能強大且高顏值的 Zsh 主題,可以讓你的終端界面更直觀、更炫酷。安裝方法如下:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/.oh-my-zsh/custom/themes/powerlevel10k
echo 'ZSH_THEME='powerlevel10k/powerlevel10k'' >> ~/.zshrc
source ~/.zshrc
安裝常用插件可以顯著提升終端的效率和體驗。以下是幾個常用且實用的插件:
- 自動補全插件:zsh-autosuggestions : 這個插件可以根據(jù)歷史記錄自動補全命令,非常省事:
- 語法高亮插件:zsh-syntax-highlighting ,輸入命令時,正確的命令會顯示為綠色,錯誤的命令則高亮紅色:
配置過程:
# 1、下載相關(guān)庫
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting
# 2、vim 打開 ~/.zshrc 文件,找到 plugins=(...),手動添加插件
plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
# 3、加載配置,使其生效
source ~/.zshrc
zsh 安裝與配置參考鏈接 :https://www./blog/dev-tools/better-use-terminal-with-zsh
Step 7: 使用 Git 管理代碼
工作寫代碼時,版本管理是少不了的,Git 是一個強大的工具,可以幫助你記錄代碼的每次修改,還能和團隊協(xié)作。
7.1 安裝 Git
在 Ubuntu 中直接執(zhí)行以下命令安裝:
sudo apt install git -y
檢查安裝是否成功:
git --version
7.2 初始化 Git
進入項目文件夾 myproject(你自己新建的),初始化一個 Git 倉庫:
git init
這會在 myproject 目錄下創(chuàng)建一個 .git
文件夾,用來管理版本信息。
7.3 配置用戶名和郵箱
第一次使用 Git 時需要配置用戶名和郵箱:
git config --global user.name '你的名字'
git config --global user.email '你的郵箱'
7.4 基本使用
1. 添加文件到暫存區(qū)
告訴 Git 要追蹤哪些文件的修改:
git add 文件名 # 添加單個文件
git add . # 添加所有修改的文件
2. 提交修改到版本庫
將暫存區(qū)的修改提交到 Git 倉庫:
git commit -m '你的提交說明'
3. 查看狀態(tài)
隨時檢查哪些文件有修改或者未被提交:
git status
4. 查看提交歷史
檢查項目的歷史提交記錄:
git log
7.5 推送到遠程倉庫
如果你想保存代碼到 GitHub 或 GitLab 等遠程倉庫,先關(guān)聯(lián)遠程地址:
git remote add origin 遠程倉庫地址
# 遠程倉庫地址: git@github.com:xiaokangcoding/test.git
然后把代碼推送到遠程倉庫:
git push -u origin master
# -u 是 --set-upstream 的簡寫,用于設(shè)置本地分支與遠程分支的 跟蹤關(guān)系,方便后續(xù)的 git push 和 git pull 操作。
git push # 推送當前分支到遠程
# 后續(xù)推送直接使用 git push,不需要分支名。
7.6 克隆遠程倉庫
如果你需要下載遠程倉庫的代碼到本地:
git clone 遠程倉庫地址
# 遠程倉庫地址: git@github.com:xiaokangcoding/test.git
7.7 小結(jié)
Git 是代碼管理的神器。記住幾個核心命令:
git commit
:把暫存區(qū)提交到版本庫。
簡單又高效,用好 Git,你工作開發(fā)效率會飛起!
總結(jié):開發(fā)環(huán)境好了,效率也飛起了
本篇文章從選擇 Linux 系統(tǒng),到安裝開發(fā)工具、配置調(diào)試環(huán)境,再到美化終端和提升效率,你已經(jīng)掌握了一套完整的 Linux C/C++ 開發(fā)環(huán)境搭建 攻略。下一步?就是擼起袖子寫代碼啦!
最后: