Я бы сказал обратное к litb выше, если вы используете предварительно скомпилированные заголовки. Если вы используете "stdafx.h" в качестве предварительно скомпилированного заголовка и имеете такой код:
#include "afile.h"
#include "stdafx.h"
тогда вы потратите целую вечность, пытаясь выяснить, почему "afile.h" не включен. При использовании предварительно скомпилированных заголовков все include и #defines игнорируются вплоть до "stdafx.h". Таким образом, если вы принудительно включите «stdafx.h», вышеописанное никогда не произойдет, и вы получите проект, который эффективно использует предварительно скомпилированный параметр.
Что касается комментария Литба о поиске макросов, то в хороших IDE обычно есть возможность перейти к определению символа, будь то #define, function, class и т. Д.