私は C および C++ プログラミングに比較的慣れていませんが、共有ライブラリからシンボルを読み込んで呼び出すことができる場合 (バイナリのようにコンパイルおよびリンクされていることを理解しています)、別の [実行可能] バイナリからシンボルを読み込むことも可能ですか?実行時間中?
Linux 上の GCC でこれを行うことに特に興味があります。
私は C および C++ プログラミングに比較的慣れていませんが、共有ライブラリからシンボルを読み込んで呼び出すことができる場合 (バイナリのようにコンパイルおよびリンクされていることを理解しています)、別の [実行可能] バイナリからシンボルを読み込むことも可能ですか?実行時間中?
Linux 上の GCC でこれを行うことに特に興味があります。
Windows でプログラミングしている場合
Oses のような UNIX では。dlopenやdlsymのようなもの
6.6の dlsym ルックの例。ファイル demo_dynamic.c
理論的には、バイナリからオブジェクトを取り出して、それに対して (静的または動的に) リンクできるはずですが、バイナリ構造を調べる必要があります。最新の Linux システムはすべて ELF バイナリを使用しているため、これは簡単に実行できます。これは十分に文書化されています。ウィキペディアの記事から始めて、そこから進むことをお勧めします。