为什么debug下,一个int要用12个字节?
为什么debug下,一个int栈变量要用12个字节?
空余的8个自己里面是cc,不知道编译器是做何用。麻烦解释清楚一点。
int _tmain(int argc, _TCHAR* argv[])
{
int a = 1;
int b = 2;
int c = 3;
printf("&a = 0x%08X\n", &a);
printf("&b = 0x%08X\n", &b);
printf("&c = 0x%08X\n", &c);
return 0;
}
输出:
&a = 0x0029F814
&b = 0x0029F808
&c = 0x0029F7FC
[解决办法]
调试模式下,VC 编译器对每一个变量设置的前后标志。
这样如果你的越界了。编译器就可以告诉你。