1

したがって、linker(私の場合は)実際の を作成している間に を にld追加することがわかります。Program HeadersRelocatable fileExecutable

次に、これらのヘッダーを使用して、実行時にプログラムをメモリにロードします。

  • まず、ldこれらのヘッダーをどのように計算してファイルに追加しますか?

  • そしてProgram Headers、プログラムをメモリにロードするためだけに使用される場合 (私が間違っている場合は訂正してください)、実行可能ファイルごとに異なる数のProgram Headers.

たとえば、アセンブリで記述された単純な helloworld には2 つの Program headersがあります。

readelf -h helloworld
...
  Number of program headers:         2
...

しかし、 にbash11 個のプログラム ヘッダーがあります。

readelf -h /bin/bash
...
  Number of program headers:         11
...
4

1 に答える 1