杂文:linux下移植编码算法出错(memcpy问题)

在算法移植到linux时发现在windows下和linux下的结果不一样,经定位发现是由于memcpy函数造成,根本原因是mecpy的源地址和目的地址有部分重叠,在linux下执行memcpy出错,而windows下执行memcpy不出错。

后将memcpy修改成赋值解决了问题。

for(int iii = 0; iii < 2048; iii++)
{
    *(lfEnc->pcm_buffer0 - 1024 + iii) = *(lfEnc->pcm_buffer0 + iii);
}
//memcpy(lfEnc->pcm_buffer0 - 1024, lfEnc->pcm_buffer0, sizeof(float) * 2048); //wrong in Linux

你可能感兴趣的:(杂文:linux下移植编码算法出错(memcpy问题))