stdafx.h
- это идиоматическое имя, используемое для предварительно скомпилированных заголовков в экосистеме Visual Studio. Короче говоря, это обычный заголовок, но содержимое этого файла будет скомпилировано один раз и повторно использовано для всех файлов cpp в проекте.
Это полезно, поскольку в большинстве проектов большое количество заголовков (стандартная библиотека, системный заголовок, общие определения для всего проекта) используются практически всеми модулями перевода (cpps), поэтому использование PCH является огромным выигрышем в производительности во время компиляции.
(На самом деле, PCH - это хак для обхода неэффективной модели компиляции и компоновки C ++, и это позор, что нам нужно поддерживать ее вручную… упс, богохульство.)
Но это также означает, что - пока содержимое вашего stdafx.h
совместимо с gcc - компиляция с CodeBlocks должна все же работать, но без немедленного выигрыша в производительности.
stdafx.h
, сгенерированный мастерами приложений VS, не работает "из коробки" на других платформах - обычно он включает Windows.h
. Таким образом, чтобы это работало, защитите специфичные для Windows определения соответствующими парами #ifdef/#endif
и наоборот для Linux или Mac.