dlopen

    0

    1答えて

    私は2つの動的ライブラリa.soとb.so.を持っています。両方のライブラリには、各ライブラリに異なるコードを持つ関数f()が含まれています。この関数は、別の関数ga()およびgb()から各ライブラリで呼び出されます。 また、dlopen()を使用してこれら2つのライブラリを動的にロードする実行可能プログラムもあります。このプログラムは、ある時点でga()とgb()を呼び出します。それぞれの場合に

    1

    2答えて

    私は、スウィズルなどの埋め込みフレームワークを+loadメソッドで使用しています。 フレームワークが実際にロードされた状況(私はいつもそれを使用するとは限りません)に関しては、より細かい制御が必要です。 手動でロードするには、「埋め込みバイナリ」セクションからフレームワークを削除してください。フレームワークは、今ではなく、「必須」より「オプション」としてリンクされている - 明示的に、アプリケーシ

    0

    1答えて

    これをネット上で検索した後、答えが見つからないようです。 初めてdlopenを使用すると、プログラムの複数のインスタンスから実行した場合を含め、それ以降はいつもより長くかかりそうです。 dlopenはメモリに一度ロードしてOSに保存させるので、プログラムの別のインスタンスからの次の呼び出しがメモリ内の同じ場所を指すようにします。 したがって、ライブラリを実行するプログラムの3つのインスタンスは、同

    2

    1答えて

    私の目的は、Linuxで使用するdlopenのオープン関数をフックすることです。何らかの理由で、このコードはdlopen-> openをフックしていませんが、オープンしているmain.c-> openの私のバージョンにフックします。 dlopenは何とか私のシンボルを使用していませんか?次のように コンパイルプロセスは、次のとおりです。私はプログラムを実行すると gcc main.c -ldl -

    4

    2答えて

    私はユーザーからコアダンプを受け取りました。メインプログラムは、選択したプラグインをdlopen経由で読み込みます。プロセスはプラグインモジュールで中止されました。ユーザーは、プラグインのファイル名と中断した関数を含むバックトレースを提供しました。 私は関数に渡された引数などのデータを調べる必要があります。プラグインがロードされた場所をgdbに伝えるにはどうすれば、ソースとデータを表示するかを理解

    0

    1答えて

    cmakeadd_libraryドキュメントは 共有ライブラリを実行時に動的にロードされた とリンクされている、と言います。 MODULEライブラリは 以外のターゲットにリンクされたプラグインですが、実行時にdlopenのような機能を使用して実行時に に動的にロードされる可能性があります。 実際に、私は両方SHAREDとMODULE型ターゲットは、Linux上で.so動的ライブラリを生成見ることが

    0

    2答えて

    How would a loaded library function call a symbol in the main application?のコードを貼り付けて、ロードされたライブラリの仕組みを理解してください。そのようなファイル:共有オブジェクトファイルを開くことができません:私はそれを実行しようとしたとき、私はlibdlo.so LS @APG9591:/mnt/c/Users/fri

    1

    1答えて

    私はdlopen経由でロードされるプラグイン経由で拡張できるNDKアプリケーションを持っています。これは正常に動作するために使用されていないが、developer documentationで述べたように、それはもはやアンドロイドN.と連携し、dlopenが正式に放棄されています は、Android 7.0以降では、システムは、動的に非NDKライブラリに対してリンクからアプリケーションを防ぎますア

    0

    1答えて

    SWIG and Pythonのチュートリアルに従っていますが、Pythonでコンパイルした拡張機能をインポートしようとするとエラーが発生します。 Python 3.5.2 (default, Oct 11 2016, 15:01:25) [GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.38)] on darwin >>> import

    0

    1答えて

    私は64ビットJavaプロセス内でRHEL 64上でdlopen ("libjvm.so", RTLD_NOLOAD)を呼び出しています。そして、それはエラーで失敗します。 libjvm.so: invalid mode for dlopen(): Invalid argument 私はlsof -p <pid of java process>を行なったし、それがロードされたモジュールとしてl