我在 Core 2 Duo 上的 OS X 10.6 中运行 Xcode。这是一个简短的程序:
#include <stdio.h>
int main () {
long a = 8589934592L;
printf("a = %li\n", a);
return 0;
}
当我从命令行(gcc -pedantic)编译它时,我没有收到任何错误或警告。当我在调试配置中的 Xcode 中编译它时,我没有收到任何错误或警告。当我在发布配置中的 Xcode 中编译它时,我收到一个警告:“隐式常量转换中的溢出”。
Long 应该是 64 位的。并且程序运行良好。那么发生了什么事,我该如何摆脱这个警告?