linux常用头文件详解(10)

发布时间:2021-06-06

linux常用头文件详解

3)a_data——该字段含有数据段的长度值,字节数。

4)a_bss——含有bss段的长度,内核用其设置在数据段后初始的break(brk)。内核在加载程序时,这段可写内存显现出处于数据段后面,并且初始时为全零。

5)a_syms——含有符号表部分的字节长度值。

6)a_entry——含有内核将执行文件加载到内存中以后,程序执行起始点的内存地址。

7)a_trsize——该字段含有代码重定位表的大小,是字节数。

8)a_drsize——该字段含有数据重定位表的大小,是字节数。

在a.out.h头文件中定义了几个宏,这些宏使用exec行文件中各个部分(节)的位置偏移值。这些宏有:

◆N_BADMAG(exec)。如果a_magic字段不能被识别,则返回非零值。

◆N_TXTOFF(exec)。代码段的起始位置字节偏移值。

◆N_DATOFF(exec)。数据段的起始位置字节偏移值。

◆N_DRELOFF(exec)。数据重定位表的起始位置字节偏移值。

◆N_TRELOFF(exec)。代码重定位表的起始位置字节偏移值。

◆N_SYMOFF(exec)。符号表的起始位置字节偏移值。

◆N_STROFF(exec)。字符串表的起始位置字节偏移值。

重定位记录具有标准的格式,它使用重定位信息(relocation_info)结构来描述,如下所示:

该结构中各字段的含义如下:

1)r_address——该字段含有需要链接程序处理(编辑)的指针的字节偏移值。代码重定位的偏移值是从代码段开始处计数的,数据重定位的偏移值是从数据段开始处计算的。链接程序会将已经存储在该偏移处的值与使用重定位记录计算出的新值相加。

2)r_symbolnum——该字段含有符号表中一个符号结构的序号值(不是字节偏移值)。链接程序在算出符号的绝对地址以后,就将该地址加到正在进行重定位的指针上。(如果r_extern比特位是0,那么情况就不同,见下面。)

linux常用头文件详解(10).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219