我想知道在鏈接腳本中定義符號有什麼用處。使用鏈接腳本來安排不同的部分是可以理解的,但在腳本中定義新的符號對我來說並不清楚。我正在閱讀一篇使用鏈接器腳本的文章,該腳本定義了兩個新的符號,但這些符號在鏈接器腳本或文章中的其他地方未被引用。一個例子是使用在bss部分SBSS和EBSS符號,如下所示:在鏈接器腳本中定義符號有什麼用處?
ENTRY (loader)
SECTIONS
{ . = 0x00100000;
.text ALIGN (0x1000) :
{
*(.text)
}
.rodata ALIGN (0x1000) :
{
*(.rodata*)
}
.data ALIGN (0x1000) :
{
*(.data)
}
.bss :
{
sbss = .;
*(COMMON)
*(.bss)
ebss = .;
}
}
有其它符號也被頻繁使用的比如etext DATAEND等請解釋使用時定義這樣的符號的它們在腳本中的任何地方都沒有引用。