在 Debian 上高效编译 C++ 的实用指南
一 环境准备与基础
sudo apt update && sudo apt install build-essential g++。gcc hello.cpp -o hello -lstdc++)。g++ hello.cpp -o hello && ./hello。二 提升构建速度的工程化手段
sudo apt install ccache;使用:在命令前加 ccache(如 ccache g++ …)或设置环境变量 CCACHE_PREFIX=ccache。g++ -x c++-header common.h -o common.h.gch),编译时用 -include common.h 引入以加速解析。#include、避免链接未使用的库,降低解析与链接开销。三 生成高性能可执行文件的编译选项
四 推荐配置与示例
g++ -O2 -march=native -flto hello.cpp -o hellomake -j$(nproc) 或 CCACHE_PREFIX=ccache make -j$(nproc)# CMakeLists.txt
cmake_minimum_required(VERSION 3.16)
project(MyApp LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_BUILD_TYPE Release)
add_compile_options(-O2 -march=native -flto)
add_link_options(-flto)
add_executable(myapp main.cpp)
构建:mkdir -p build && cd build && cmake -DCMAKE_BUILD_TYPE=Release .. && make -j$(nproc)# 1) 采集阶段
g++ -O2 -fprofile-generate -fopenmp main.cpp -o myapp-gen
./myapp-gen
# 2) 使用阶段
g++ -O2 -fprofile-use -fopenmp main.cpp -o myapp