dlopen

    0

    1答えて

    私はgccで共有ライブラリをコンパイルし、dlopenを使用してロードしています。 -fvisibility=hidden 可視性フラグなしでライブラリをコンパイルすると、すべてが完全に機能します。しかし、フラグを付けてコンパイルすると、dlopenで次のエラーが発生します。 libtest.so: cannot open shared object file: No such file or

    2

    1答えて

    JavaScriptCoreフレームワークのフォークがあります。ここにはエクスポートされた独自の関数が追加されています。フレームワークは単にfindをコンパイルします。フレームワーク上nmを実行する機能(JSContextCreateBacktrace_unsafe)が実際にエクスポートされることが明らかになった: Leo-Natans-Wix-MPB:JavaScriptCore.framewo

    1

    1答えて

    私はAndroidアプリケーション用のネイティブライブラリを構築しようとしています。 2つの図書館があり、最終的な図書館でそれらをリンクする必要がありますが、いくつか問題があります。 Android.mkコード: LOCAL_CFLAGS := -Wall -Wfloat-equal -std=c99 LOCAL_PATH := $(call my-dir)/.. include $(C

    0

    1答えて

    シングルトンを使用するプログラムがあります。このプログラムは、実行時に共有オブジェクトライブラリをロードします。このライブラリは同じシングルトンも使用します。 問題は、ライブラリからシングルトンにアクセスするときに、シングルトンの新しいインスタンスが作成されることです。 プログラムが-rdynamicとリンクされて、私は両方のために-fPICを使用してロードは次のように起こる: std::shar

    0

    1答えて

    バイナリ形式でのみ配布される一連の共有ライブラリ(Intel MKL)があります。トップレベルの「ランタイム」ライブラリ、libmkl_rt.soは、私の実行ファイルに対するリンクとはlddで表示されている。しかし ... libmkl_rt.so => /var/task/lib/libmkl_rt.so (0x00007f8049a1f000) ... 、他のもののようなlibmkl_

    2

    2答えて

    バイナリ自体にC++バイナリが動的にリンクされているライブラリの名前を確認またはアクセスする方法はありますか? lddを実行せずに、基本的にはlddをバイナリで実行します。 このユースケースはdlopenからdlfcn.hを使用しています。私は"@[email protected]"がパスに解決 void* handle = dlopen("@[email protected]", RTLD_LA

    0

    1答えて

    共有ライブラリを作成しました。ここではFooクラスを定義しました。 Fooクラスには、sayHi()という名前の関数があります。私の質問は、Fooオブジェクトfooを作成した後で、どうやってsayHi()を呼び出すことができるかです。私はここに自分のコードを入れます。 mylib.h #ifndef FUNTEST_MYLIB_H #define FUNTEST_MYLIB_H class

    0

    2答えて

    実行時に、現在のプロセスのグローバルシンボル名前空間にどの共有ライブラリがロードされているかを判断する方法はありますか?私は主にRTLD_GLOBALフラグを使用したdlopen()コールの結果としてロードされたものに興味があります。 私は監査目的でこれを実行したいと思っています。動的にロードされる共有ライブラリは、可能であればdlopenのRTLD_LOCALでロードされているため、サードパーテ