VC菜单中的命令Execute Program(Ctrl+F5)和Go(F5)有区别吗?
Colo 2001-08-24 05:22:50 近日我遇到了一个奇怪的问题,当我编译好的程序用Go命令运行时没有错误,可是
当我Execute时却报错.详细描述如下:
TCHAR buf1[16]={0};
TCHAR buf2[16]={0};
LPTSTR p1=(LPTSTR)lpbiHead;
LPTSTR p2=(LPTSTR)lpbi;
//////////////
//其中lpbiHead和lpbi都是LPBITMAPINFOHEADER类型的指针,并且已正确指向自己
//的内存单元
/////////////
int i=0;
memcpy(buf1,p1+i,16);
memcpy(buf2,p2+i,16);
if(memcmp(buf1,buf2,16)!=0)
{
//*****************************************
//问题就出现在这个位置当用Go命令运行时不能进入该if语句,
//但是用Execute时却进入了该if语句,我看了这时的buf1和buf2
//确实不一样。
//奇怪!奇怪?奇怪...
//是不是这两个命令对内存单元的定义不一样?
//期望的结果应该是Go时执行的那样即buf1等于buf2
//*****************************************
}
哪位大哥能指点指点?