请教关于调试信息的问题

asdln 2020-10-30 09:29:17
请教个问题,linux下如果加了-g选项编译,调试信息是放到so库里了吗,如果是,这种包含调试信息的so相比不包含调试信息的版本,在运行效率上有区别吗
...全文
7387 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
RedWolf1999 2020-11-02
  • 打赏
  • 举报
回复
加了-g,你编的是so库调试信息就在so里,是可执行就在可执行里。 -g主要是增加了调试信息与效率可能无关。效率一般是-O1 -O2 -O3来优化。 第二个问题,编译的时候要编release版本。
asdln 2020-11-02
  • 打赏
  • 举报
回复
我编译proj7.1的时候,makefile里的CFLAGS和CXXFLAGS里,都把-g去掉了,但编译的时候我看命令行的提示,还是有-g。咋回事
glen30 2020-10-31
  • 打赏
  • 举报
回复
加了-g表示添加调试信息,这个调试信息是放在生成的二进制文件里面的,比如 gcc 1.c -g -o a.out,这里的调试信息就放在a.out里面
加了-g的一般是调试版本,至少编译出来的软件大小比没有加-g的要大,因此加载速度也会慢些,正式发布的时候建议不要加-g

23,116

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧