gcc
文章平均质量分 67
无人等人
穷且益坚
展开
-
linux 程序crash 调试、原因分析及问题定位
linux 程序崩溃,如果能根据已有的插桩日志能排查出来自然好,但是往往日志未全覆盖,这时候排查起来还是比较麻烦的。一般来说有以下这几种方法获取崩溃现场数据。core dumpcore dump是linux原生自带的一个异常分析工具,当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存在一个文件中。注意程序编译 需要带 -g。开启core dumplinux 默认是关闭的。开启ulimit -c unlimited此时,运行程序发生sigsegv之类的异常时原创 2021-05-26 09:42:37 · 8528 阅读 · 2 评论 -
c++ 有返回值函数 ,但未返回值时的情况具体分析
具体业务代码遇到一个函数代码块无返回值导致bug的问题warning: control reaches end of non-void function [-Wreturn-type]测试代码//不存在存在内部调用int test1(int i){ if (i == 0 ) { return 0; }}int test3(int i){ return i;}//存在内部调用int test(int i){ if (i =原创 2021-05-25 11:31:52 · 3832 阅读 · 0 评论 -
加快gcc编译速度
前情之前一直在windows平台下使用ide开发,idea有热加载,而keil,ccs之类的单片机ide由于固件大小原因,编译速度都还凑合。等到新公司项目都是linux平台下用的交叉编译器开发,写的makefile也不咋地,一段时间玩下来,编译速度慢的简直不能忍受。网上一通搜索,基本上通过以下几点尝试优化PIMPL(放弃)使用pimpl(Pointer to Implementation),effective stl 很多书都有介绍,这玩意通过结构体或者类隐藏内部私有数据成员,使用前置声明和指原创 2021-05-22 11:29:19 · 5095 阅读 · 2 评论