【发布时间】:2016-12-16 10:18:42
【问题描述】:
我正在使用 Visual Studio 2015 在 32 位平台和 64 位平台上构建项目。
Sizeof 在 32 位平台中返回一个无符号整数,在 64 位平台中返回一个无符号 __int64。
我有以下代码:
printf ("limit is %u. \n",sizeof(var));
我需要在两个平台上编译相同的代码。使用格式说明符 %u 会在 64 位中发出警告,使用 %I64u 会在 32 位中发出警告。有没有一种方法可以在两个平台上使用格式说明符而无需编写 printf 2 次(使用 ifdef _WIN32)。我的项目中有很多这样的警告。这将是很多工作,而且看起来并不“干净”。
【问题讨论】:
标签: c visual-studio-2015 32bit-64bit