温馨提示×

怎样入门linux c++

小樊
40
2026-09-14 06:35:12
栏目: 编程语言

入门 Linux 下的 C++ 可以分为「环境准备 → 基础语法 → Linux 特有知识 → 项目实践」几个阶段。下面给你一条比较清晰的路线。


一、准备 Linux 环境

如果你已经有 Linux(Ubuntu / CentOS / Arch 等)可以直接用,否则推荐:

  • 虚拟机:VirtualBox + Ubuntu
  • WSL2(Windows 用户首选):Ubuntu on WSL
  • 云服务器:便宜的 VPS 练手

二、安装基础开发工具

以 Ubuntu 为例:

sudo apt update
sudo apt install build-essential gdb cmake git

检查:

g++ --version
make --version

三、写第一个 C++ 程序

1. 写代码

// hello.cpp
#include <iostream>

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

2. 编译运行

g++ hello.cpp -o hello
./hello

四、掌握 Linux C++ 基础工具链

1. 编译过程(重点)

源文件(.cpp) → 预处理 → 编译 → 汇编 → 链接 → 可执行文件

查看过程:

g++ -E hello.cpp   # 预处理
g++ -S hello.cpp   # 汇编代码
g++ -c hello.cpp   # 目标文件

2. Makefile(必须会)

示例:

hello: hello.cpp
	g++ hello.cpp -o hello

clean:
	rm -f hello

使用:

make
make clean

3. CMake(现代 C++ 必备)

cmake_minimum_required(VERSION 3.10)
project(hello)

add_executable(hello hello.cpp)

使用:

mkdir build && cd build
cmake ..
make

五、Linux 下 C++ 特有知识(重点)

1. 文件与系统调用

  • open / read / write / close
  • fork / exec
  • 文件权限

2. 进程与线程

  • pthread
  • C++11 std::thread
  • 进程间通信(管道、共享内存)

3. 网络编程(重要)

  • Socket 编程
  • TCP / UDP
  • epoll(高性能必备)

4. 调试工具

gdb ./hello

常用:

  • break main
  • run
  • next
  • print var

日志工具:glog, spdlog


六、推荐学习资源

书籍

  • 《C++ Primer》(基础)
  • 《Effective C++》
  • 《Linux 高性能服务器编程》(游双)

网站

  • https://en.cppreference.com
  • https://man7.org(Linux 系统调用)

视频

  • 黑马 / 尚硅谷 Linux C++ 教程
  • MIT / 斯坦福 系统编程公开课

七、入门练习项目(由易到难)

  1. 命令行计算器
  2. 文件拷贝工具(类似 cp)
  3. 多线程下载器
  4. 简易 HTTP 服务器
  5. 聊天室(Socket + 多线程)

八、学习建议

✅ 多动手,少看视频
✅ 每个系统调用都自己写一遍
✅ 学会看 man 手册
✅ 用 Git 管理代码


如果你愿意,我可以:

  • 给你 7 天入门计划
  • 带你 从零写一个 Linux 小项目
  • 或针对 服务器 / 嵌入式 / 游戏 方向细讲

你现在的基础是?

0