memcpy access violation
场景:memcpy 导致Access Violation异常
memcpy 导致Access Violation错误
memcpy 导致Access Violation错误,怎么回事? 程序需要多次调用memcyp函数,前面几次对,后面出错。
memcpy(dpControlPoints, value, (iRow+1)*(iColumn+1)*3*sizeof(double));
memcpy(dpControlWeights, value, (iRow+1)*(iColumn+1)*sizeof(double));
memcpy(dpKnotsU, value, (iRow+iUOrder+2)*sizeof(double));
三条语句中value的值不同,iRow、Column值相同,iUOrder比iUOrder小。也就是第三次调用memcpy时,所需空间比前两次小很多。
前面两句对,后面一句在iRow数值稍大时出问题。请问为什么?
------解决方案--------------------
应该是越界了
------解决方案--------------------
‘越界’有时候不能立刻出错,只有越界后东西被使用时才出错。你调试看看在哪里。
------解决方案--------------------
内存分配的不对
------解决方案--------------------
memcpy 导致Access Violation错误
memcpy 导致Access Violation错误,怎么回事? 程序需要多次调用memcyp函数,前面几次对,后面出错。
memcpy(dpControlPoints, value, (iRow+1)*(iColumn+1)*3*sizeof(double));
memcpy(dpControlWeights, value, (iRow+1)*(iColumn+1)*sizeof(double));
memcpy(dpKnotsU, value, (iRow+iUOrder+2)*sizeof(double));
三条语句中value的值不同,iRow、Column值相同,iUOrder比iUOrder小。也就是第三次调用memcpy时,所需空间比前两次小很多。
前面两句对,后面一句在iRow数值稍大时出问题。请问为什么?
------解决方案--------------------
应该是越界了
------解决方案--------------------
‘越界’有时候不能立刻出错,只有越界后东西被使用时才出错。你调试看看在哪里。
------解决方案--------------------
内存分配的不对
------解决方案--------------------