在进行跨平台代码开发时,经常使用预编译指令进行相关平台特殊指令的处理。但是在前几天的VC中,在使用预编译头文件(stdafx.h)前增加预编译指令时出问题了。在实现文件中的指令如下:
#if defined(_WIN32)
#include "stdafx.h"
#endif
该处理方式在VC中编译报错:fatal error C1020: unexpected #endif。后面查了资料才知道,微软忽略掉实现文件中stdafx.h包含头文件之前的一切指令。该问题的处理有两种方式:
1)不使用预编译头文件(stdafx.h)
2)在stdafx.h文件中增加预编译处理
#if defined(_WIN32)
#include "stdafx.h"
#endif
该处理方式在VC中编译报错:fatal error C1020: unexpected #endif。后面查了资料才知道,微软忽略掉实现文件中stdafx.h包含头文件之前的一切指令。该问题的处理有两种方式:
1)不使用预编译头文件(stdafx.h)
2)在stdafx.h文件中增加预编译处理