linux常用头文件详解(12)
发布时间:2021-06-06
发布时间:2021-06-06
linux常用头文件详解
◆N_UNDF。一个未定义的符号。链接程序必须在其他二进制目标文件中定位一个具有相同名称的外部符号,以确定该符号的绝对数据值。特殊情况下,如果n_type字段是非零值,并且没有二进制文件定义了这个符号,则链接程序在BSS段中将该符号解析为一个地址,保留长度等于n_value的字节。如果符号在多于一个二进制目标文件中都没有定义并且这些二进制目标文件对其长度值不一致,则链接程序将选择所有二进制目标文件中最大的长度。
◆N_ABS。一个绝对符号。链接程序不会更新一个绝对符号。
◆N_TEXT。一个代码符号。该符号的值是代码地址,链接程序在合并二进制目标文件时会更新其值。
◆N_DATA。一个数据符号。与N_TEXT类似,但是用于数据地址。对应代码和数据符号的值不是文件的偏移值而是地址;为了找出文件的偏移,就有必要确定相关部分开始加载的地址并减去它,然后加上该部分的偏移。
◆N_BSS。一个BSS符号。与代码或数据符号类似,但在二进制目标文件中没有对应的偏移。
◆N_FN。一个文件名符号。在合并二进制目标文件时,链接程序会将该符号插入在二进制文件中的符号之前。符号的名称就是给予链接程序的文件名,而其值是二进制文件中首个代码段地址。链接和加载时不需要文件名符号,但对于调式程序非常有用。
◆N_STAB。屏蔽码用于选择符号调式程序(例如gdb)感兴趣的位。其值在stab()中说明。
3)n_other——该字段按照n_type确定的段,提供有关符号重定位操作的符号独立性信息。目前,n_other字段的最低4位含有两个值之一:AUX_FUNC和AUX_OBJECT(有关定义参见)。AUX_FUNC将符号与可调用的函数相关,AUX_OBJECT将符号与数据相关,无论它们是位于代码段还是数据段。该字段主要用于链接程序ld,用于动态可执行程序的创建。
4)n_desc——保留给调式程序使用;链接程序不对其进行处理。不同的调试程序将该字段用作不同的用途。
5)n_value——含有符号的值。对于代码、数据和BSS符号,这是一个地址;对于其他符号(例如调式程序符号),值可以是任意的。
字符串表由长度为unsigned long后跟一null结尾的符号字符串组成。长度代表整个表的字节大小,所以在32位的机器上其最小值(即第1个字符串的偏移)总是4。
14.3 const.h文件
14.3.1 功能描述
该文件定义了i节点中文件属性和类型i_mode字段所用到的一些标志位常量符号。
14.3.2 代码注释
下一篇:在wps里打印32开小册子流程