今天VC软件无源无故弹出Stack around the variable 'InitCtrls' was corrupted.
查了一下网上的说法:
堆栈内存的错误
函数堆栈不平衡
如果有导入函数或者api原始声明是 __stdcall func(...)或者 WINAPI func(...)
而你在声明的时候省略了__stdcall或WINAPI,那么就会导致堆栈损坏
看了代码发现没有出现什么不规范的调用,后来Demo.ncb这个文件删除后,
重新编译了一下,再按F5调试,关闭对话框就没有弹出这个错误了。
回想今天自己的一些对MFC界面的添加动作,突然感觉到在添加菜单项时
修改过ID:
之前先定义了ID_H264_PLAY,然后又把这个ID改为了ID_H264_OPEN,再添加一个选项命名为ID_H264_PLAY
问题就出在这里了,看来对VC 重命名什么的,得需要注意,有可能破坏dlg。