C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了指针算术中的访问冲突大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
随着代码

int nsize;
int * buffer;
char TargetBuffer[4096];
const SIZE_T buffersize = (320*240) * sizeof(int);


buffer = (int *) malloc(bufferSize);
// fill buffer with data

nsize = 0;
while(nsize < buffersize)
{
    // HERE after some loops i get Access Violation
    memcpy(TargetBuffer,buffer + nsize,4096);


    // do stuff with TargetBuffer
    nsize += 4096;
}

为什么我会收到访问冲突?我应该改变什么?

解决方法

当您添加缓冲区nsize时,您必须意识到您实际上正在添加缓冲区(nsize *(sizeof(int)),因为当您进行指针运算时它是一个int *.

所以它可能与它有关.尝试通过nsize = 4096 / sizeof(int)或更聪明的东西递增nsize.

大佬总结

以上是大佬教程为你收集整理的指针算术中的访问冲突全部内容,希望文章能够帮你解决指针算术中的访问冲突所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: