2015-05-29 88 views

回答

0

SECTIONS命令告诉链接器如何将输入节映射到输出节,以及如何将输出节放在内存中。 的部分的格式命令是:

SECTIONS 
{ 
    sections-command 
    sections-command 
    ... 
} 

我们可以通过使用BYTE包括在输出部的数据的显式字节,短,长QUAD,或SQUAD作为输出部命令。

当使用64位主机或目标时,QUAD和SQUAD是相同的;他们 都存储一个8字节或64位的值。当主机和目标都是32位时,表达式计算为32位。在这种情况下,QUAD 存储32位值零扩展到64位,并且SQUAD存储位值扩展到64位的符号。

如果输出文件的目标文件格式具有显式字节顺序,这是正常的情况下,该值将被存储在该字节顺序。当目标文件格式没有明确的字节顺序时,例如,例如,S记录,值将被存储在第一个输入目标文件的字节顺序中。

注意 - 这些命令仅在段说明内部,而不是在它们之间工作,所以以下将从链接器产生一个错误:

SECTIONS { .text : { *(.text) } LONG(1) .data : { *(.data) } } 

而这将工作:

SECTIONS { .text : { *(.text) ; LONG(1) } .data : { *(.data) } } 

我希望现在你可以解决你的错误!