eigen segmentation fault踩坑记录

本文记录了在使用Eigen库时遇到的Segmentation Fault问题,主要原因是fixed-size vectorizable Eigen类型变量的内存对齐问题。官方文档提到,如果在类或结构体中包含这类变量,需要确保正确处理内存对齐。避免问题的方法包括:在类的public部分使用EIGEN_MAKE_ALIGNED_OPERATOR_NEW,使用指针而非引用操作,以及在使用STL容器时包含Eigen::aligned_allocator并指定其作为分配器。此外,建议使用引用而非值传递处理这类变量。
摘要由CSDN通过智能技术生成

使用eigen时如果不注意,容易存在内存对齐问题。

fixed-size vectorizable Eigen Types
fixed-size vectorizable Eigen 类型的变量size固定,且是16byte的倍数,使用不注意时可能导致内存对齐问题。

    Eigen::Matrix2d
    Eigen::Matrix2f
    Eigen::Matrix4d
    Eigen::Matrix4f
    Eigen::Affine3d
    Eigen::Affine3f
    Eigen::Quaterniond
    Eigen::Quaternionf

可能的原因
参考了官网对内存问题的解释:
https://eigen.tuxfamily.org/dox/group__TopicUnalignedArrayAssert.html

  • 创建的class/struct 含有fixed-size vectorizable
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值