您当前的位置: 首页 > 

柳鲲鹏

暂无认证

  • 0浏览

    0关注

    4642博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

memcpy-avx-unaligned/strcpy_sse2_unaligned崩溃记录

柳鲲鹏 发布时间:2019-03-03 23:47:50 ,浏览量:0

   使用gdb看到崩溃内容:

#0  __memcpy_avx_unaligned ()
    at ../sysdeps/x86_64/multiarch/memcpy-avx-unaligned.S:273
273	../sysdeps/x86_64/multiarch/memcpy-avx-unaligned.S: 没有那个文件或目录.
[Current thread is 1 (Thread 0x7fb6e17fe700 (LWP 18977))]
(gdb) backtrace
#0  __memcpy_avx_unaligned ()
    at ../sysdeps/x86_64/multiarch/memcpy-avx-unaligned.S:273

  另外一组:

#0  __strcpy_sse2_unaligned ()
    at ../sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S:605
605	../sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S: 没有那个文件或目录.
(gdb) backtrace
#0  __strcpy_sse2_unaligned ()
    at ../sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S:605

  意思还是很明显的,内存对齐出了问题。直接原因是在一个构造器中使用了memset(0)。怎样避免?吾转换bmp的时候也遇到过(测试通过的C代码:平台无关的RGB保存为BMP格式的图片)。语法如下:

/** 必须对齐,所以用这个来对齐 */
#pragma pack(1)

  可惜的是,吾试了并没有解决。以后再仔细查。

关注
打赏
1665724893
查看更多评论
立即登录/注册

微信扫码登录

0.0539s