免费注册 查看新帖 |

Chinaunix

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

位置无关代码与可重入代码有什么关系吗? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-03-25 14:20 |只看该作者 |正序浏览
问题1:如题;
问题2:在链接时,只有表示global的符号需要地址解析吗?
谢谢

论坛徽章:
0
8 [报告]
发表于 2010-03-27 19:06 |只看该作者
你这“位置无关代码”,就是浮动码吧?
一段代码,它内部的所有跳转指令全部是相对转移指令,这样它挪一个位置,执行结果不变。
它与可重入码之间,好像没有关系。

论坛徽章:
0
7 [报告]
发表于 2010-03-26 13:51 |只看该作者
回复 6# cjaizss


    呵呵,总有种感觉他们之间有联系,现在我知道了。那为什么在处理并行时,有时用volatile,有时用锁?

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
6 [报告]
发表于 2010-03-26 13:36 |只看该作者
位置无关代码和可重入代码能有啥关系?完全是两回事嘛

论坛徽章:
0
5 [报告]
发表于 2010-03-26 10:02 |只看该作者
回复 4# prolj


    ╮(╯▽╰)╭,偶是一个小小菜鸟啊,帮我解答解答呗      

论坛徽章:
0
4 [报告]
发表于 2010-03-26 00:32 |只看该作者
lz虽然帅的一塌糊涂,基础只是也是一塌糊涂啊。

论坛徽章:
0
3 [报告]
发表于 2010-03-25 18:33 |只看该作者
回复 2# qtdszws


    1.为什么在处理并行时,有时用volatile,有时用锁?
   2.我不知道为什么你那又这么多UND的标识,那一列应该表示所在的section的序列号。

论坛徽章:
0
2 [报告]
发表于 2010-03-25 15:02 |只看该作者
>> 位置无关代码与可重入代码有什么关系吗?

没有关系,位置无关代码是指该代码在任何地址处都能执行,可重入代码指该代码可以并行执行而不会出问题(没有引用全局变量或引用了且用锁做了保护)


>>在链接时,只有表示global的符号需要地址解析吗?
应该是UND的吧

  1. [root@mail ~/binutils-2.18/gas]# readelf -s a.out|grep UND
  2.      0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND
  3.      1: 00000000     0 NOTYPE  WEAK   DEFAULT  UND __gmon_start__
  4.      2: 00000000   251 FUNC    GLOBAL DEFAULT  UND __libc_start_main@GLIBC_2.0 (2)
  5.      4: 00000000    57 FUNC    GLOBAL DEFAULT  UND printf@GLIBC_2.0 (2)
  6.      0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND
  7.     91: 00000000     0 NOTYPE  WEAK   DEFAULT  UND __gmon_start__
  8.     92: 00000000     0 NOTYPE  WEAK   DEFAULT  UND _Jv_RegisterClasses
  9.     95: 00000000   251 FUNC    GLOBAL DEFAULT  UND __libc_start_main@@GLIBC_
  10.    100: 00000000    57 FUNC    GLOBAL DEFAULT  UND printf@@GLIBC_2.0
复制代码
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP