使用memcpy函数,出现总线错误SIGBUS
后来脑子一转突然想到会不会是字节对齐的问题,一看函数手册发现这个系统在分配共享内存块的时候分配大小默认按照 8 字节对齐而且它的库为了提高 memcpy、memmove 拷贝性能,通过汇编实现相关接口,并通过 STP 指令拷贝数据,在未开启 CACHE 情况下,需用户保证地址对齐。再说说我遇到的问题情况吧,我是在对共享内存进行读取数据的时候使用memcpy函数进行读取,调试到memcpy(addr1,addr2,4);就会造成总线错误,在确定地址没问题的情况下,反复修改也还是存在这个问题。
原创
2022-11-04 11:47:54 ·
1919 阅读 ·
1 评论