Linux 下 C++ 开发快速入门
·
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 ./output 或 valgrind |
更多推荐




所有评论(0)