温馨提示×

Linux C++如何开发

小樊
44
2026-07-31 19:50:01
栏目: 编程语言

在 Linux 下做 C++ 开发,通常包含 环境搭建、编译、调试、工程组织、常用库与工具 几个部分。下面给你一个比较完整、实用的入门到进阶指南。


一、准备开发环境

1. 安装 Linux 系统

常见选择:

  • Ubuntu / Debian(最常用,资料多)
  • CentOS / Rocky / Alma
  • Arch / Manjaro(偏进阶)

2. 安装编译器与工具链

# Ubuntu / Debian
sudo apt update
sudo apt install build-essential gdb cmake git

检查:

gcc --version
g++ --version

二、写第一个 C++ 程序

1. 创建文件

// main.cpp
#include <iostream>

int main() {
    std::cout << "Hello Linux C++" << std::endl;
    return 0;
}

2. 编译运行

g++ main.cpp -o main
./main

三、常用编译方式

1. 直接使用 g++

g++ -std=c++17 -Wall -O2 main.cpp -o main

常用参数说明:

  • -std=c++17:指定 C++ 标准
  • -Wall:显示所有警告
  • -O2:优化
  • -g:生成调试信息

2. 多文件编译

g++ -c foo.cpp
g++ -c main.cpp
g++ foo.o main.o -o app

四、使用 Makefile(工程必备)

示例 Makefile

CXX = g++
CXXFLAGS = -std=c++17 -Wall -O2

app: main.o foo.o
	$(CXX) main.o foo.o -o app

main.o: main.cpp
	$(CXX) $(CXXFLAGS) -c main.cpp

foo.o: foo.cpp
	$(CXX) $(CXXFLAGS) -c foo.cpp

clean:
	rm -f *.o app

使用:

make
./app
make clean

五、使用 CMake(强烈推荐)

1. 示例 CMakeLists.txt

cmake_minimum_required(VERSION 3.10)
project(demo)

set(CMAKE_CXX_STANDARD 17)

add_executable(demo main.cpp foo.cpp)

2. 构建项目

mkdir build
cd build
cmake ..
make
./demo

✅ CMake 是 Linux C++ 工程的事实标准


六、调试(GDB)

编译时加调试信息

g++ -g main.cpp -o main

常用 GDB 命令

gdb ./main
run
break main
next
step
print var
backtrace

七、IDE / 编辑器选择

1. VS Code(最推荐)

安装插件:

  • C/C++
  • CMake Tools
  • clangd(推荐)

2. CLion(商业,非常好用)

  • 原生支持 CMake
  • 调试、重构能力强

3. Vim / Neovim(偏进阶)

  • 配合 clangd、lsp

八、Linux C++ 常用库

系统 & 网络

  • pthread(多线程)
  • socket(网络编程)
  • epoll(高并发)

第三方库

功能
网络 asio、libevent
JSON nlohmann/json
日志 spdlog
容器 STL
算法 Boost
HTTP cpr

安装示例:

sudo apt install libspdlog-dev nlohmann-json3-dev

九、Linux C++ 常见方向

  • 系统编程(进程、线程、IPC)
  • 网络服务器(TCP/HTTP/微服务)
  • 嵌入式 Linux
  • 高性能计算
  • 游戏服务端
  • 驱动 / 内核模块(偏底层)

十、学习路线建议

  1. ✅ C++ 语法 + STL
  2. ✅ Linux 基础命令
  3. ✅ 进程 / 线程 / 网络
  4. ✅ Makefile / CMake
  5. ✅ 多线程 + 并发
  6. ✅ 项目实战(服务器 / 工具)

如果你愿意,我可以:

  • ✅ 给你一个 Linux C++ 实战项目示例
  • ✅ 陪你从 零写一个网络服务器
  • ✅ 对比 Windows vs Linux C++ 开发
  • ✅ 推荐 书籍 & 学习资料

你现在是 刚入门 还是 已有 C++ 基础

0