170 похожих чатов

Как можно ускорить компиляцию файлов, когда я меняю только .h

файл? Может какой-нибудь ccache, или компиляционные флаги высиавить, типа -O0

23 ответов

22 просмотра

звучит как магия

по возможности вынести изменяющиеся части в .cpp, заменить инклюды на forward declaration-ы

Иван-Степанов Автор вопроса
Yalokin Kononov
звучит как магия

Мне важно ASAP узнать результаты линковки

вы понимаете что такое .h файл и как он работает?

такое возможно только если всё сделано через какой то pimpl

Иван-Степанов Автор вопроса
Иван Степанов
К сожалению, поэтому спрашиваю

окей. тогда расскажите. вот вы написали #include <myFile.h>. что произойдет во время компиляции? (а точнее препроцессинга)

Разные техники есть: предкомпиляция заголовочных файлов, forward declaration, pimpl

Иван Степанов
Щас загуглю

спасибо гуглить я сам умею. вы пытаетесь ускорить что-то, не понимая что

Anatoly Shirokov
Разные техники есть: предкомпиляция заголовочных ф...

ему в обратку вроде. то есть менять h-ку включенную в кучу cpp-шек так чтобы cpp-шки не пересобирало

🐈
ему в обратку вроде. то есть менять h-ку включенну...

Я как раз привел основные методы борьбы

Anatoly Shirokov
Сюда

у него и pch будет пересобираться и все зависимости от этого pch

🐈
pch это ж вообще не сюда

Скажем у вас 100 cpp файлов, один pch. При изменению любого h - одна пересборка pch

🐈
у него и pch будет пересобираться и все зависимост...

Но это, есть предположение, будет быстрее

Anatoly Shirokov
Скажем у вас 100 cpp файлов, один pch. При изменен...

так cpp при изменении связанного pch тоже пересобираются. да, чуть быстрее. но несильно

🐈
так cpp при изменении связанного pch тоже пересоби...

Ну, надо мерять, но ты говорил, pch не сюда

Anatoly Shirokov
Ну, надо мерять, но ты говорил, pch не сюда

тут нужен опыт и понимание. вангую что он с pch скорее увеличит время сборки

Anatoly Shirokov
Надо мерять

вообще общая реккомендация: не феячить в pch то что часто меняется

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
1
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Карта сайта