LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: pluskid

请问strip命令到底对可执行文件干了什么?

[复制链接]
发表于 2006-1-13 18:11:28 | 显示全部楼层
Post by lucifer
相对论只是数学上复杂一些,概念绝对比牛顿简单多了
难道不是越接近真实的东西越简单才合理吗?

我的本意是,可以快速地学习和理解那些小巧的代码,从而更快地将整个系统(硬件和操作系统的结合、编译工具和操作系统的结合)作为一个整体来理解。在这个基础上,理解那些经完善的机制就比较容易了。
回复 支持 反对

使用道具 举报

发表于 2006-1-13 19:50:35 | 显示全部楼层
Post by pluskid
哦!就是说,那写Symbol就是主要是用来给GDB调试用的?

恩,还有一个问题就是,herberteuler给的那段代码中,创建文件的时候,用了0666,这是文件的权限吧?如果a.out创建为0666的话不是就不具有可执行权限了?

哦!时间不早了!先去考试了。
6:30的Linux操作系统,全校公选课,现在的中国,真是无语了,我看了课程的习题,其中最有印象的一道题就是:
用ls命令得到的结果中,可执行文件是用什么颜色显示的?

晕~~~~

6有可执行权限吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-13 20:18:08 | 显示全部楼层
哦!想起来拉!那个0666是不是所谓的umask呀?就是里面指定的权限其实是创建文件的时候没有的权限?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-13 20:22:07 | 显示全部楼层
Post by 代码

  1. The value of a word in the text or data portions which is not a
  2. reference to an undefined external symbol is exactly that value which
  3. will appear in core when the file is executed. If a word in the text
  4. or data portion involves a reference to an undefined external symbol,
  5. as indicated by the relocation information for that word, then the
  6. value of the word as stored in the file is an offset from the
  7. associated external symbol. When the file is processed by the link
  8. editor and the external symbol becomes defined, the value of the
  9. symbol will be added into the word in the file.
复制代码

这里面说的word是什么呀?还有就是看样子后面的relocation好像是用来重定向的?而那个strip直接把他删除了,这样没有问题吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-13 20:39:40 | 显示全部楼层
哦!如果杀umask的话,那么创建的文件的实际权限就是777 & ~0666 = 111 ,就是所有的用户都可以执行的?还有如果有setuid或者setgid之类的也不见了吧?
回复 支持 反对

使用道具 举报

发表于 2006-1-14 09:04:01 | 显示全部楼层
你最好先把apue看一遍
回复 支持 反对

使用道具 举报

发表于 2006-1-14 09:13:29 | 显示全部楼层
Post by pluskid
哦!就是说,那写Symbol就是主要是用来给GDB调试用的?


不完全是。可执行文件中包含的符号有多种用途。如果可执行文件是动态连接的,这些符号还要在动态链接时被动态解析。否则程序是运行不了的。
回复 支持 反对

使用道具 举报

发表于 2006-1-14 09:23:55 | 显示全部楼层
Post by pluskid
这里面说的word是什么呀?还有就是看样子后面的relocation好像是用来重定向的?而那个strip直接把他删除了,这样没有问题吗?

用于重定位的符号不能删除。不然在链接时会出错。
回复 支持 反对

使用道具 举报

发表于 2006-1-14 09:57:26 | 显示全部楼层
Post by pluskid
哦!就是说,那写Symbol就是主要是用来给GDB调试用的?

恩,还有一个问题就是,herberteuler给的那段代码中,创建文件的时候,用了0666,这是文件的权限吧?如果a.out创建为0666的话不是就不具有可执行权限了?

哦!时间不早了!先去考试了。
6:30的Linux操作系统,全校公选课,现在的中国,真是无语了,我看了课程的习题,其中最有印象的一道题就是:
用ls命令得到的结果中,可执行文件是用什么颜色显示的?

晕~~~~

晕!ls命令可执行文件颜色是可以改的吧?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-14 10:19:19 | 显示全部楼层
Post by nait
你最好先把apue看一遍

:ask apue是什么?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表