在算法移植到linux時(shí)發(fā)現(xiàn)在windows下和linux下的結(jié)果不一樣复亏,經(jīng)定位發(fā)現(xiàn)是由于memcpy函數(shù)造成昨悼,根本原因是mecpy的源地址和目的地址有部分重疊,在linux下執(zhí)行memcpy出錯(cuò),而windows下執(zhí)行memcpy不出錯(cuò)欠气。
后將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