1

それで、私はこの考えを持っていて、それが本当かどうかを確認するために周りを検索しましたが、それを確認するものはまだ見つかりませんでした。
私はエルフパーサーに取り組んでおり、セクションからプログラムのデータを構築したいと思います。
私の考えでは、データセグメントは、.data、.data1、.bss、.ctors、および.dtors(c ++プログラムの場合は.ctorsおよび.dtors)セクションの情報で構成されています。あれは正しいですか?
ドキュメントへのリンクを提供してください

4

1 に答える 1

1

セグメントをメモリにロードするときは、セクションヘッダーテーブルではなく、プログラムヘッダーテーブルを確認する必要があります。プログラムヘッダーはローダーの入力ですが、セクションヘッダーは情報のデバッグを目的としています。

たとえば、.dataとを同じプログラムヘッダー.bssにまとめたり、2つのプログラムヘッダーに分散させたりすることができます。メモリの1つまたは2つのセグメントが割り当てられます。1つのコードセグメントと1つのメモリセグメントを持つことは必須です。バイナリがどのようにリンクされているかによって異なります。

于 2012-06-13T13:43:04.787 に答える