Когда можно использовать препроцессор в MS VC++ 6.5?
Невозможно до включения стандартной библиотеки применить препроцессор.
В чём причина?
Почему так компилируется (#include "stdafx.h" расположен раньше первой препроцессорной директивы #ifdef):
#include "stdafx.h"" // Включение библиотеки до использования препроцессора
#define Prog1
#ifdef Prog1
// Вывод текстового сообщения на экран в стиле C
int main ( int argc , char *argv[] )
{
printf ( "Hello World!\n" ) ;
return 0 ;
}
#endif
а так нет (#include "stdafx.h" расположен в теле первой препроцессорной директивы #ifdef) (выдаётся ошибка: «fatal error C1020: unexpected #endif»):
#define Prog1
#ifdef Prog1
#include "stdafx.h" // Включение библиотеки в ветке условной компиляции
// Вывод текстового сообщения на экран в стиле C
int main ( int argc , char *argv[] )
{
printf ( "Hello World!\n" ) ;
return 0 ;
}
#endif
[u]Т.е. получается что пока не включишь в исходник какую-нибудь из системных библиотек препроцессорные средства недоступны?[/u]