免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2345 | 回复: 5
打印 上一主题 下一主题

自动变量为什么不出现在符号表中? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-08 15:33 |只看该作者 |倒序浏览
程序:
1 #include<stdio.h>
  2 int a;
  3 int b=3;
  4 int main()
  5 {
  6         static int  c=4;
  7         static int  d;
  8         int e,f;
  9         int g=5;
10         printf("%d,%d,%d,%d,%d,%d\n",a,b,c,d,e,f,g);
11
12 }

符号表

[root@localhost file]# readelf -s com.o

Symbol table '.symtab' contains 14 entries:
   Num:    Value  Size Type    Bind   Vis      Ndx Name
     0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND
     1: 00000000     0 FILE    LOCAL  DEFAULT  ABS com.c
     2: 00000000     0 SECTION LOCAL  DEFAULT    1
     3: 00000000     0 SECTION LOCAL  DEFAULT    3
     4: 00000000     0 SECTION LOCAL  DEFAULT    4
     5: 00000000     4 OBJECT  LOCAL  DEFAULT    4 d.1572
     6: 00000004     4 OBJECT  LOCAL  DEFAULT    3 c.1571
     7: 00000000     0 SECTION LOCAL  DEFAULT    5
     8: 00000000     0 SECTION LOCAL  DEFAULT    7
     9: 00000000     0 SECTION LOCAL  DEFAULT    6
    10: 00000000     4 OBJECT  GLOBAL DEFAULT    3 b
    11: 00000000   110 FUNC    GLOBAL DEFAULT    1 main
    12: 00000004     4 OBJECT  GLOBAL DEFAULT  COM a
    13: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND printf

在里面找不到e,f的信息

[ 本帖最后由 xdshting 于 2009-12-8 15:35 编辑 ]

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
2 [报告]
发表于 2009-12-08 20:06 |只看该作者
存在栈里的局部变量,使用相对寻址或者模拟相对寻址方式,既然不是一个绝对的地址,就不用重新定位,那么符号表里有它存在的必要吗?符号表设计的初衷是什么呢?

论坛徽章:
0
3 [报告]
发表于 2009-12-08 20:16 |只看该作者
其实不是空间,而是效率。

论坛徽章:
0
4 [报告]
发表于 2009-12-08 22:52 |只看该作者
我觉得不光是效率,还有变量生存范围的问题

论坛徽章:
0
5 [报告]
发表于 2009-12-09 15:55 |只看该作者
贵所的16核64位MIPS 3代什么时候量产啊?我都打算上x86的板子了。

论坛徽章:
0
6 [报告]
发表于 2009-12-18 16:52 |只看该作者

回复 #4 nicolas.shen 的帖子

局部变量在最后生成的优化代码中可能根本不存在。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP