前面有篇文章分析了ELF格式,也只是让我们对目标文件有了一个大概的了解,并没有说明一个十分重要的问题:重定位,今天重新看了下重定位的资料,终于弄懂了重定位的过程,下面来做一个分析。
我们将使用下面两个源代码中的文件a.c和b.c展开分析:
//a.c
extern int shared;
int main()
{
int a=100;
swap(&a,&shared);
}
//b.c
i...
分类:
其他好文 时间:
2014-05-07 22:35:28
阅读次数:
328
defgetResult(cmd,timeout=2):#命令超时时间
deadline=time.time()+timeout
r=subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE)
whiletime.time()<deadlineandr.poll()isNone:
time.sleep(0.1)
ifr.poll()isNone:#检查子进程
r.kill()
r.wait()
return‘‘
r.wait()
..
分类:
编程语言 时间:
2014-05-07 22:30:17
阅读次数:
504
1.在linux上可以找到哪些shell?哪个档案记录可用的shell?儿linux预设的shell是?
1./bin/bash,/bin/tcsh,/bin/csh 2./etc/shells
3.bash,亦即是/bin/bash2.在shell环境下,有个提示符(prompt),他可以修...
分类:
系统相关 时间:
2014-05-07 21:08:15
阅读次数:
720
文件描述符:文件描述符是一个小的非负整数,是内核用来标识特定进程正在访问的文件标准输入/输出/出错:shell为每个程序打开了三个文件描述符,STDIN_FILEON,STDOUT_FILEON,STDERR_FILEON,默认这三个文件描述符都链向终端不带缓冲的IO:函数open
read wri...
分类:
其他好文 时间:
2014-05-07 17:13:03
阅读次数:
284
学习了一段时间的shell编程,发现还是比较容易上手的,果然有了一定的C语言基础其他都好办!某天突发奇想,想要用自己学过的shell语言来编写一个脚本,实现查看EI的FTP服务器是否在工作的功能。虽说可以直接登录试试就知道结果,但是也是为了好玩,也是顺便实践一下。PS:能够拿自己刚学会的知识来成功处...
分类:
其他好文 时间:
2014-05-07 17:06:15
阅读次数:
294
包括:i.任意进制转化为十进制((num=base#number))
【base和number必须一致,是同一种进制】ii.十进制转化为任意进制`echo "obase=进制;值"|bc` 和`echo "值 进制 o
p"|bc` 【这里的值代表十进制数字】iii.任意进制互转;有了i和ii就可以...
分类:
其他好文 时间:
2014-05-07 16:40:14
阅读次数:
272
开始学习模板元编程了
#include
#include
#include
#include
#include "boost/assign/list_of.hpp"
#include "boost/type_traits/is_const.hpp"
#include "boost/type_traits/is_reference.hpp"
#include "boost/type_tr...
分类:
其他好文 时间:
2014-05-07 16:32:27
阅读次数:
358
1./swap交换分区,一般为你机器内存的两倍,少于这个容量,系统无法进入休眠。
实质是硬盘上的交换空间而非分区,所以没有格式,默认休眠将数据储存于此
可以取消(如不用swap必须再设定方可休眠)——多数有1GB内存的桌面用户只要1.5GB swap即可。2GB以上内存的很多用户实际并不需要它——注意,大量处理音频、视频、图片需要3GB以上的交换空间。
2./ 根分区,一般选择1...
分类:
其他好文 时间:
2014-05-07 12:25:52
阅读次数:
356
在学习linux系统编程的时候,实现了ls命令的简化版本。
实现的功能如下:
1. 每种文件类型有自己的颜色 (- 普通文件, d 目录文件, l 链接文件, c 字符设备文件, b 快设备文件, p 管道文件, s socket文件。共7种)
2. 支持的参数有 -hali (a: 显示隐藏文件, i: 显示inode节点号,l: 以列表形式显示文件的详细信息,h: 人类可读的文件大小显示...
分类:
系统相关 时间:
2014-05-07 11:32:19
阅读次数:
592