Я видел пару вопросов о том, как обнаружить ненужные файлы #include в проекте на С++. Этот вопрос меня часто заинтриговал, но я не нашел удовлетворительного ответа.
Если есть некоторые заголовочные файлы, которые не используются в проекте С++, это накладные расходы? Я понимаю, что это означает, что перед компиляцией содержимое всех файлов заголовков будет скопировано во включенные исходные файлы, и это приведет к большому количеству ненужной компиляции.
Как далеко этот вид накладных расходов распространяется на скомпилированные объектные файлы и двоичные файлы?
Не компиляторы не могут сделать некоторые оптимизации, чтобы убедиться, что это вид накладных расходов не передается результирующим объектным файлам и двоичные файлы?
Учитывая тот факт, что я, вероятно, ничего не знаю о оптимизации компилятора, я все еще хочу спросить об этом, если есть ответ.
Как программист, который использует большое количество библиотек С++ для своей работы, какие методы программирования следует придерживаться, чтобы избегать такие накладные расходы? Является ли вы глубоко знакомы с каждым библиотека работает единственный выход?