Quiet
  • 主页
  • 归档
  • 分类
  • 标签
  • 链接
  • 关于我

bajiu

  • 主页
  • 归档
  • 分类
  • 标签
  • 链接
  • 关于我
Quiet主题
  • CPP

g++ 编译基础参数完全指南

bajiu
青年大学习

2025-11-16 19:03:00

🟦 一、g++ 最常用基础编译参数

1. 指定 C++ 标准版本(最常用)

-std=c++17
-std=c++20
-std=c++23

启用对应版本的语言特性。


2. 开启警告

-Wall

打开常用警告。


3. 开启更多警告

-Wextra

检查更多潜在 bug(如隐式转换、未使用变量等)。


4. 警告视为错误(严格模式)

-Werror

保证所有警告必须解决。


5. 启用优化

-O2
-O3
  • -O2:比较安全,适合大多数情况\
  • -O3:更激进,有时会更快,有时引入风险

6. 启用调试信息

-g

用于 gdb / VSCode 调试阶段,不影响程序行为。


7. 保留调用栈指针(便于调试)

-fno-omit-frame-pointer

8. 链接时优化(LTO)

-flto

加快运行速度、减小程序体积。


9. 只编译为 .o 文件

-c

用于大型项目分文件编译。


10. 指定输出文件名

-o output.exe

🟦 二、常用编译命令(直接可用)

⭐ 1. 开发调试模式(推荐)

g++ -std=c++20 main.cpp -Wall -Wextra -g -O0 -o app.exe

⭐ 2. 发布(Release)模式

g++ -std=c++20 main.cpp -O2 -flto -o app.exe

更激进版本:

g++ -std=c++20 main.cpp -O3 -march=native -flto -o app.exe

⭐ 3. 严格错误检查模式(CI/CD 使用)

g++ -std=c++20 main.cpp -Wall -Wextra -Werror -O2 -o app.exe

⭐ 4. 简单编译

g++ main.cpp -o app.exe

🟦 三、实战示例(可直接复制)

示例 A:你当前最适合的

g++ -std=c++20 main.cpp -Wall -Wextra -O2 -o app.exe

示例 B:VSCode 调试使用

g++ -std=c++20 main.cpp -Wall -Wextra -g -o app.exe

示例 C:多文件项目

g++ -c a.cpp -o a.o
g++ -c b.cpp -o b.o
g++ a.o b.o -o app.exe

🟦 四、推荐的开发模式

✔ Debug 模式(调试)

g++ -std=c++20 -Wall -Wextra -g -O0 -o app.exe

✔ Release 模式(上线)

g++ -std=c++20 -O3 -march=native -flto -o app.exe

下一篇

去批次的三种方法Combat、Harmony、BBKNN介绍

©2025 By bajiu.