c++中引起奇段故障的特征Jacobi
Eigen Jacobi causing odd segfault in c++
所以我的代码中有以下几行:
MatrixXd qdash = zeroCentredMeasurementPointCloud_.topLeftCorner(3, zeroCentredMeasurementPointCloud_.cols());
Matrix3d H = q * qdash.transpose();
Eigen::JacobiSVD<MatrixXd> svd(H, Eigen::ComputeThinU | Eigen::ComputeThinV);
现在我确信qdash
和H
被正确初始化(q
也是,只是在其他地方)。最后一行涉及到Eigen::JacobiSVD
,当它被留在
Program received signal SIGSEGV, Segmentation fault.
0xb0328af8 in _list_release () from /usr/qnx650/target/qnx6/x86/lib/libc.so.3
0 0xb0328af8 in _list_release () from /usr/qnx650/target/qnx6/x86/lib/libc.so.3
1 0xb032a464 in __free () from /usr/qnx650/target/qnx6/x86/lib/libc.so.3
2 0xb0329f7d in free () from /usr/qnx650/target/qnx6/x86/lib/libc.so.3
即我想,当试图释放它时,它是分段错误的。现在,根据这里的教程,我应该做的就是使用这个功能:
MatrixXf m = MatrixXf::Random(3,2);
JacobiSVD<MatrixXf> svd(m, ComputeThinU | ComputeThinV);
有人知道为什么它在我的情况下失败了吗?
这太疯狂了。原来我用的是特征对齐,这在我的操作系统上不起作用。这会导致一个错误,它会根据生成的可执行文件的大小改变位置。
这个故事的寓意是:小心你的内容。
相关文章:
- 分段故障(堆芯转储)矢量
- C++中的动态铸造故障
- 数组的指针从不分段故障
- 如何声明特征矩阵,然后通过嵌套循环初始化它
- vscode g++链路故障:体系结构x86_64的未定义符号
- 访问被拒绝后,c++中的故障保护代码
- Windows 10-使用gtkmm-3.0库和g++[包括再现]的分段故障
- 特征::矩阵<双精度,1,3> 结构类型函数中的返回类型函数
- 有没有一种方法可以通过"typedef"为重新定义的基本类型定义特征和强制转换运算符
- 特征命名访问向量段
- 将特征矩阵的向量设置为0
- 特征:模板函数中矩阵的平面图
- basic_string的前导/尾部不区分空格的特征
- 特征 3 类的模板专用化
- 调试 CUDA MMU 故障
- 特征 c++:复矩阵的面积双曲正切(atanh)
- 带升压的 SEG 故障::make_shared / 特征3 内存.h.
- 打印文件的分段故障特征
- 基于大特征向量的分段故障LibSVM
- c++中引起奇段故障的特征Jacobi