У меня недавно был проект класса, где я должен был сделать программу с G ++.
Я использовал make-файл, и по некоторым причинам он иногда оставлял .h.gch файл.
Иногда, это не влияло на компиляцию, но время от времени она приведет к компилятору, выпуская ошибку для проблемы, которая была устранена или которая не имела смысла.
У меня есть два вопроса:
1) Что такое .h.gch файл и для чего каждый используется? и
2) Почему это вызвало бы такие проблемы, когда это не было очищено?
A ] .gch
файл представляет собой предварительно скомпилированный заголовок.
Если .gch
не найден, то будут использоваться обычные заголовочные файлы.
Однако если ваш проект настроен на создание предварительно скомпилированных заголовков, он создаст их, если они не существуют, и использует их в следующей сборке.
Иногда *. H.gch
может быть поврежден или содержать устаревшую информацию, поэтому удаление этого файла и его повторная компиляция должны исправить это.
a) Это предварительно скомпилированные заголовки: http://gcc.gnu.org/onlinedocs/gcc/Precompiled-Headers.html
б) Они содержат "кэшированную" информацию из файлов .h и должны обновляться каждый раз, когда вы меняете соответствующий файл .h. Если этого не произошло - в вашем проекте установлены неверные зависимости
Это предварительно скомпилированный заголовок GCC.
В Википедии есть наполовину приличное объяснение, http://en.wikipedia.org/wiki/Precompiled_header