通过指针的内存复制有时会丢失数据
Memory copy through pointers misses data sometimes
我正在编写一个简单的c++程序,将数据从缓冲区复制到专用内存位置。每当缓冲区更新时,我都会运行以下循环:
tempPtr= (u64 *) buffer;
for (j=0; j<buffer_length; j++){
destinationPtr[i+j]=buffer[j];
}
i=i+j;
问题是,有时这段代码工作得很好,有时它会漏掉大块的数据。我不知道这里发生了什么。任何帮助都将不胜感激。
发布问题后,我发现问题不在于复制内存,而在于可变缓冲区大小。。。缓冲区大小不是要复制的数据的倍数。这导致跳过了一些块。
相关文章:
- 矢量如何将数据复制到另一个矢量?
- 将矢量的数据复制到<MyStruct>矢量<MyStruct>的指针
- 将父类的子类的数据复制到具有相同父类的另一个类
- 使用 memcpy 将矢量数据复制到 wstring 的正确方法
- C++:传递指向函数中类的指针会导致数据复制?
- 将数据复制到磁盘上新位置的语法
- pybind11:如何包装以 std::vector<double> 为参数以避免数据复制的 C++ 函数
- 如何将数据复制到字节数组的某些部分
- 使用Sapera拍摄图像并将数据复制到矢量
- 如果strncpy将随机数据复制到缓冲区中会发生什么
- C++ 促进序列化、构造函数和数据复制
- 将一个通道数据复制到OpenCV中的另一个通道
- SSE将数据复制到变量
- doxygen将doxygen注释中的特定数据复制到markdown页面中
- 正在将指针指向的数据复制到另一个指针中
- 使用 CUDA 将大数据复制到 GPU 和从 GPU 复制大数据
- 尝试将.csv数据复制到c++中的结构时出现堆栈溢出错误
- 数据复制与封装
- 如何将 frontBuffer 数据复制到纹理 DirectX 9
- 更快地将数组中的数据复制到目标,同时应用缩放或偏移因子