tg-me.com/cpp_geek/305
Last Update:
👨💻 Сегодня покажу вам удобный способ, как избавиться от болей с #include
в больших C++ проектах.
Когда проект растёт, количество инклудов становится пугающим. Компиляция тормозит, зависимости запутаны, порядок подключения начинает влиять на поведение программы… Знакомо?
📌 Решение — Precompiled Headers (PCH).
Это не магия, а вполне рабочая практика. Всё просто:
1. Создаём файл pch.h
, в котором собираем самые часто используемые инклюды:
// pch.h
#pragma once
#include <iostream>
#include <vector>
#include <map>
// и т.д.
2. Добавляем его в компиляцию с флагом:
g++ -x c++-header pch.h -o pch.h.gch
3. Теперь любой другой файл, который первым инклудит
pch.h
, компилируется быстрее.⚡️ Бонус: современные сборочные системы, вроде CMake, умеют работать с PCH почти автоматически. Достаточно:
target_precompile_headers(my_target PRIVATE pch.h)
🧠 Маленький совет: следите, чтобы в
pch.h
не попадали редко используемые или изменяющиеся файлы — иначе получите обратный эффект.Пользовались ли вы PCH в своих проектах? Какой прирост производительности заметили?
➡️ @cpp_geek
BY C++ geek
Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283
Share with your friend now:
tg-me.com/cpp_geek/305