「已注销」 2018-07-15 13:28 采纳率: 33.3%
浏览 1129
已结题

《视觉SLAM十四讲》第5讲PCL的以命令行编译的问题 ?

在编译高翔博士第5讲的PCL程序时,总是提示一个错误。我是以命令行的形式编译的。错误
显示如下:
图片说明

  • 写回答

1条回答

  • 银河曼巴 2018-07-16 04:21
    关注

    终端在运行的时候总是出现
    “段错误 (核心已转储) ”

    栈空间用来存储数组等数据,那么段错误就应该是我存储的数组超过了它所在段的大小,于是在的程序执行的过程中一到跟大数组相关的步骤就会出现段错误的提示(SIGSEGV: Segmentation fault)。
    linux下应用 ulimit -a 命令查看当前栈空间大小,得到:

     8012   
    
     即我的系统下栈空间应该为8M,而可以自己算下自己定义的数组大小,发现我的数组每个大概3M多,而我的数组个数也大于3个,我的gdb中调试的过程中也恰巧是在第三个大维数数组那出现的问题,我的数组的确越过了stack段的边界,出现了错误。
    

    ▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂

     如何解决这个问题呢?
    
     我用
    

    ulimit -s 102400

     将栈的大小改为100M(这回可够用了),然后运行程序或者debug,程序就能正确运行了。
    
    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题