Run-Time Check Failure #2分析
来源:互联网 发布:淘宝刷购物车 编辑:程序博客网 时间:2024/05/29 06:35
Run-Time Check Failure #2
一般是栈被破坏,代码可能有缓冲区溢出一类的问题。有的是调用代码中的临时变量在函数调用结束时提示出错。
Run-Time Check Failure #2 - Stack around the variable 's' was corrupted
http://www.codeguru.com/forum/showthread.php?t=299770
http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/14e7318e-6fff-4d68-a823-9cbe7b7bc20a/
This problem is caused when you try to write too much data to a particular memory address. Typical causes are writing more to a string buffer than you have room for.
可能会有以下几种情况:
一、 strcpy、memcpy、strncpy、stpcpy、bcopy等拷贝区的大小不匹配,引起冲突或溢出造成的。
例如:
void myfun()
{
char mybuf[10];
strcpy(mybuf, "This is definitely more than 10 characters long, it will also cause a Run-Time Check");
}
二、当使用memset/ZeroMemory初始化数据结构体 structure或数组 array时,由于大小设置错误引起的。例如:struct MyStruct{
int var;
};
void myfun2()
{
MyStruct ms;
ZeroMemory(&ms, 20); //since MyStruct is only one variable in the struct this will cause problems
}
三、可能是指针移动,指向错误,例如:
void myfun3()
{
int a;
int*b = &a;
a++;
*a = 20;
}
四、可能是使用了itoa一类的函数,造成目标区与初始定义的大小不一致了。
如:
void myfun4()
{
int b=54698369;
char ch1[8];
itoa(b,ch,16);
}
总之,出现这类错要仔细检查提示错误的变量variable "s",将其大小修改为匹配。
如四中:
Run-Time Check Failure #2 - Stack around the variable 'ch1' was corrupted,提示错误的变量variable "ch1",将它增加一个空间作为终止记号的存放处:
void myfun4()
{
int b=54698369;
char ch1[9];
itoa(b,ch,16);
ch1[8]='/0';
}
有的情况对运行的结果不会有影响,只要计算结果的情形下可暂忽略这个问题。
- 转载:Run-Time Check Failure #2分析
- Run-Time Check Failure #2分析
- Run-Time Check Failure #2分析
- Run-Time Check Failure #2分析
- Run-Time Check Failure #2分析
- [转]Run-Time Check Failure #2分析
- Run-Time Check Failure # 2
- Run-Time Check Failure #2
- Run time Check failure #2
- Run-Time Check Failure #2
- Run-Time Check Failure #2
- Run-Time Check Failure #2
- Run-Time Check Failure #2
- Run-Time Check Failure #2
- Run-Time Check Failure #2
- Run-Time Check Failure #2分析(转载)
- Run-Time Check Failure #2分析(转载)
- Run-Time Check Failure
- confrim() 方法 的简单介绍应用
- 4. 把一幅彩色图像的R、G、B分量单独显示。
- Eclipse自动补全代码
- 5. 把一幅彩色图像的H、S、I分量单独显示。
- android Studio ddms中emulator control不能用的问题
- Run-Time Check Failure #2分析
- 6. 对一幅灰度图像进行离散傅里叶变换,用图像的形式显示其(中心化后的)频谱。改变频谱,在进行 反变换,观察变换前后的区别
- 7. 对一幅灰度图像进行离散余弦变换,用图像的形式显示其变换系数。变换后去掉小于系数最大值60% 、80%、90%的系数,在进行反变换,观察变换前后图像区别。
- 8. 对一幅灰度图像进行灰度对数变换。观察变换前后高、低灰度位置的变化并解释原因。
- java-第1个网页
- 9. 对一幅对比度差的图像进行灰度均衡化。
- 10. 对一幅灰度图像进行均值滤波、中值滤波。(自己可适当对原图像增加高频噪声)
- 11. 对一幅灰度图像增加高频噪声,再对其进行频域低通滤波。
- 12. 对一幅灰度图像用最大类间方差法求阈值,并对其进行二值化。