Eigen对齐问题

http://blog.csdn.net/wojiushixiangshi/article/details/78356271

Eigen库为了使用SSE加速,所以内存分配上使用了128位的指针,但实际分配的可能时64位或32位。


查询EIGEN提示的网页,官网给出了四种原因,如下。



1.结构体中包含Eigen成员


如果你代码中有这样的形式
[cpp] view plain copy
  1. class Foo  
  2. {  
  3.   //...  
  4.   Eigen::Vector2d v;  
  5.   //...  
  6. };  
  7. //...  
  8. Foo *foo = new Foo;  
那么需要将  EIGEN_MAKE_ALIGNED_OPERATOR_NEW  插入到代码中。即
[cpp] view plain copy
  1. class Foo  
  2. {  
  3.   ...  
  4.   Eigen::Vector2d v;  
  5.   ...  
  6. public:  
  7.   EIGEN_MAKE_ALIGNED_OPERATOR_NEW  
  8. };  
  9. ...  
  10. Foo *foo = new Foo;  
详情请见Eigen官网对此的解释:http://eigen.tuxfamily.org/dox-devel/group__TopicStructHavingEigenMembers.html

你可能感兴趣的:(安装问题)