0

私は、実行時に決定されたメモリ アドレスでいくつかのデータをメモリにロードし、ELF バイナリを同じアドレス空間にロードする必要があるプロジェクトに取り組んでいます。ELF を位置非依存としてコンパイルできることはわかっていますが、メモリ ブロックを割り当ててから、メモリ ブロックを上書きしたり別のアドレス空間に移動したりせずにバイナリをロードして実行するにはどうすればよいでしょうか?

4

2 に答える 2

1

Exec はメモリ空間全体を置き換えますが、それについてできることはあまりないと思います。しかし、共有メモリを使用して、古いプロセスと新しいプロセスの間でデータを共有できるでしょうか?

于 2012-10-28T12:29:00.177 に答える
1

ELF バイナリを共有ライブラリとしてコンパイルし、それを元のプロセスに動的にリンクできますか? 動的リンカは、既存の malloc/mmap メモリ割り当てを尊重し、それらを踏まないようにする必要があります。

于 2012-10-29T00:27:37.413 に答える