//vs2008下:
#include <stdio.h>
#include <string.h>
int main()
{
const int n; //如果后缀改为.cpp的话报错error C2734: “n”: 如果不是外部的,
//则必须初始化常量对象;如果后缀改为.c的话一切正常
const int i=1;
int *p=(int *)&i;
*p=2;
printf("%d\n",i); //如果将本源程序的后缀改为.cpp的话,最终输出的结果为 1,2;
//反汇编后这句话为。。。;push 1;。。。
//如果后缀改为.c的话结果为2,2; 。。。;mov eax,dword ptr [i] ;
//push eax;。。。(注意改后缀后要先保存,再运行)
printf("%d\n",*p);
return 0;
}
08-22
08-22
08-22
08-22