gcc 4.9.2 centos6 上的一个debug标记的问题

yixuan178 2015-04-29 05:07:26
大家好,
我在centos6上编译了一个gcc4.9.2。
[root@centos6 ~]# gcc-4.9.2 -v
Using built-in specs.
COLLECT_GCC=gcc-4.9.2
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-unknown-linux-gnu/4.9.2/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4.9.2/configure --program-suffix=-4.9.2 --enable-languages=c,c++ --disable-bootstrap --disable-shared --disable-multilib
Thread model: posix
gcc version 4.9.2 (GCC)

写了一个简单hello.cpp 打印hello,没有其他的函数。用objdump -t a.out |grep debug 查看发现有debug的一些symbol.
gcc-4.9.2 hello.cpp -lstdc++
[root@centos6 test]# objdump -t a.out |grep debug
0000000000000000 l d .debug_aranges 0000000000000000 .debug_aranges
0000000000000000 l d .debug_info 0000000000000000 .debug_info
0000000000000000 l d .debug_abbrev 0000000000000000 .debug_abbrev
0000000000000000 l d .debug_line 0000000000000000 .debug_line
0000000000000000 l d .debug_str 0000000000000000 .debug_str
0000000000000000 l d .debug_loc 0000000000000000 .debug_loc
0000000000000000 l d .debug_ranges 0000000000000000 .debug_range

但是我到一个fedora21的环境下,自带有gcc4.9.2,同样编译并查看,没有这些输出。
我想了解一下,这些标志代表什么,是否是debug版本呢。我源代码编译gcc 4.9.2的时候,是否参数选择上有些问题呢。

请达人指点。谢谢!
...全文
123 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yixuan178 2015-05-04
  • 打赏
  • 举报
回复
能给点线索么?谢谢
yixuan178 2015-04-29
  • 打赏
  • 举报
回复
引用 1 楼 a30037338 的回复:
gcc 没有debug release之说。 cpp文件干嘛不用g++编译
这个没有区别。gcc -lstdc++就可以。g++我也试过。
引用 2 楼 zhao4zhong1 的回复:
-g Generate debugging info in default format
我这个问题不是想问怎么打开debug标记。可能我没有表达清楚。 我的意思是,我没有指定编译debug版本,为何在objdump symbol信息里面有debug信息呢。
赵4老师 2015-04-29
  • 打赏
  • 举报
回复
-g Generate debugging info in default format
此后三年 2015-04-29
  • 打赏
  • 举报
回复
gcc 没有debug release之说。 cpp文件干嘛不用g++编译

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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