Предварительно скомпилированные заголовки в файлах заголовков

Сегодня я впервые столкнулся с предварительно скомпилированными заголовками... навсегда изменившими мою жизнь. Я не могу поверить, что компиляция моего кода C++ может быть такой быстрой. Теперь это имеет смысл..

Во всяком случае, одна вещь, которая меня смущает, заключается в том, что из того, что я прочитал до сих пор, в исходные файлы следует добавлять только предварительно -скомпилированные заголовки (cpp? ).

В Visual Studio в разделе «Свойства проекта» -> C/C++ -> «Дополнительно» есть параметр «Принудительно включить файл». Я установил для этой опции компилятора значение stdafx.h .

После этого мне больше не нужно включать заголовки, которые я добавил в свой stdafx.h , даже внутри моих заголовочных файлов (исходные файлы должны автоматически включать stdafx.h ). Это ожидаемое поведение?

Я не могу найти четкого места в различии между заголовочными/исходными файлами.

Если это так... здорово, но я боюсь, что это еще одна из тех вещей, которые VС++ позволяет вам избежать, но сломается в GCC. И да... он должен быть портативным; по крайней мере, между GCC и VC++.

14
задан Filburt 9 July 2012 в 21:20
поделиться