生成されたオブジェクト コードをメモリから直接読み込む方法を探しています。
ファイルに書き込むと、dlopen を呼び出してそのシンボルを動的にロードしてリンクできることを理解しています。ただし、メモリ内で開始し、ディスクに書き込まれ、dlopen によってメモリに再ロードされることを考えると、これは少し回り道のように思えます。メモリ内に存在するオブジェクト コードを動的にリンクする方法があるかどうか疑問に思っています。私が言えることから、これを行うにはいくつかの異なる方法があるかもしれません:
dlopen をだまして、メモリから離れることはないにもかかわらず、メモリの場所がファイルであると考えさせます。
私が探していることを行う他のシステムコールを見つけてください (これは存在しないと思います)。
コードをメモリ内で直接リンクできる動的リンク ライブラリを見つけます。明らかに、これはグーグルで検索するのが少し難しいです.「動的リンクライブラリ」は、動的リンクのタスクを実行するライブラリではなく、ライブラリを動的にリンクする方法に関する情報を表示するためです.
リンカーから一部の API を抽象化し、そのコードベースから新しいライブラリを作成します。(明らかに、これは私にとって最も望ましくないオプションです)。
それで、これらのうちどれが可能ですか?実現可能ですか?私が仮説を立てたもののどれかを教えていただけますか? 私が考えもしなかった別の方法はありますか?