Linux 下 C++ 开发快速入门

无论你是刷算法题还是开始项目开发,在 Linux 上编译运行 C++ 程序是基本功。本文用最短篇幅帮你走通环境准备 → 编译 → 运行全流程。


1. 环境准备

打开终端,先安装编译器与构建工具:

# Debian/Ubuntu
sudo apt update
sudo apt install build-essential g++ gdb make cmake

# CentOS/RHEL/Fedora
sudo dnf groupinstall "Development Tools"
sudo dnf install gcc-c++ gdb make cmake

验证安装:

g++ --version

2. 编写第一个 C++ 程序

用任意编辑器创建 hello.cpp:


#include <iostream>

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

3. 编译程序

使用 g++ 编译单文件:

g++ hello.cpp -o hello
  • -o hello 指定输出文件名,不写默认为 a.out
  • C++ 高版本特性可以加 -std=c++17 等参数

多文件编译示例:

假设你有 main.cpp 和 utils.cpp / utils.h:

g++ main.cpp utils.cpp -o myapp

更规范的做法是分步编译:

# 生成目标文件
g++ -c main.cpp -o main.o
g++ -c utils.cpp -o utils.o
# 链接
g++ main.o utils.o -o myapp

使用 Makefile(一小步优化):

CXX = g++
CXXFLAGS = -std=c++17 -Wall
TARGET = myapp
OBJS = main.o utils.o

$(TARGET): $(OBJS)
	$(CXX) $(CXXFLAGS) $^ -o $@

%.o: %.cpp
	$(CXX) $(CXXFLAGS) -c $< -o $@

clean:
	rm -f $(OBJS) $(TARGET)

之后只需 make 编译,make clean 清理。

4. 运行程序

终端直接执行:


./hello

如果提示权限拒绝:

chmod +x hello
./hello

想要带命令行参数?

// args.cpp
#include <iostream>
int main(int argc, char* argv[]) {
    for (int i = 0; i < argc; ++i)
        std::cout << "argv[" << i << "] = " << argv[i] << std::endl;
    return 0;
}

编译运行:

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

5. 快速调试

用 gdb 调试:

# 编译时加调试符号
g++ -g hello.cpp -o hello
gdb ./hello

常用命令:run、break main、next、print 变量、quit。

只查内存错误可以用 valgrind:


sudo apt install valgrind
valgrind ./hello

6. 总结

步骤 命令
安装工具链 sudo apt install build-essential g++ gdb
编写代码 使用 Vim / VSCode / 任意编辑器
编译 g++ -std=c++17 file.cpp -o output
运行 ./output
调试 gdb ./outputvalgrind
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐