1

リンカ スクリプトでシンボルを定義することの使用は何だろうと思っています。リンカー スクリプトを使用してさまざまなセクションを配置することは理解できますが、スクリプトで新しいシンボルを定義することは私にはわかりません。2 つの新しいシンボルを定義するリンカー スクリプトを使用する記事を読んでいましたが、それらのシンボルはリンカー スクリプトまたは記事の他の場所では参照されていませんでした。以下に示すように、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 など、頻繁に使用される他のシンボルもあります。スクリプトのどこにも参照されていない場合に、そのようなシンボルを定義する方法を説明してください。

4

2 に答える 2

0

vjain27、

リンカースクリプトの例で定義されているように、なぜシンボルを定義するのかわかりません。これは主に、実行可能ファイルがセクションの開始と終了を認識できるようにするために行われます。これは、データをコピーする必要がある場合、またはメモリ内で操作する必要がある場合に役立ちます。

于 2012-10-24T02:37:26.870 に答える