警告 C4005 'identifier':宏重新定义
Warning C4005 'identifier' : macro redefinition
我希望我的应用程序在 win32 和 x64 平台上运行。我在头文件中添加了以下代码,但收到 C4005 警告。我怎样才能避免这种情况?
#ifdef WIN32
#define SIZEOF_ANALYSIS_INFO 168
#endif
#ifdef _WIN64
#define SIZEOF_ANALYSIS_INFO 172
#endif
最近在 Windows 上编译时总是定义 _WIN32 宏,即使在 64 位编译中也是如此。您需要稍微重新安排一下代码:
#ifdef _WIN64
#define SIZEOF_ANALYSIS_INFO 172
#elif defined(_WIN32)
#define SIZEOF_ANALYSIS_INFO 168
#endif
如果你总是用VC编译这个,你可以在中间使用#else
。
如果可能的话,最好将 sizeof
运算符与任何保存分析信息的结构一起使用。
我希望我的应用程序在 win32 和 x64 平台上运行。我在头文件中添加了以下代码,但收到 C4005 警告。我怎样才能避免这种情况?
#ifdef WIN32
#define SIZEOF_ANALYSIS_INFO 168
#endif
#ifdef _WIN64
#define SIZEOF_ANALYSIS_INFO 172
#endif
最近在 Windows 上编译时总是定义 _WIN32 宏,即使在 64 位编译中也是如此。您需要稍微重新安排一下代码:
#ifdef _WIN64
#define SIZEOF_ANALYSIS_INFO 172
#elif defined(_WIN32)
#define SIZEOF_ANALYSIS_INFO 168
#endif
如果你总是用VC编译这个,你可以在中间使用#else
。
如果可能的话,最好将 sizeof
运算符与任何保存分析信息的结构一起使用。