dlopen

    1

    1答えて

    dlopen()を別の共有オブジェクトと '共有する'共有オブジェクトに正常に呼び出すことはできますか?たとえば、ライブラリ/usr/lib/libpanel.soを動的に開きたいとします。しかし、実際のライブラリではありません。 /usr/lib/libpanelw.soのではなく、それがポイント ':dlopen()で $ cat /usr/lib/libpanel.so INPUT(-lp

    10

    3答えて

    私は/* .. */内で次の /* libname may be a relative path */ void loadLib(char const *libname) { void *handle = dlopen(libname); /* ... */ dlclose(handle); } のようなコードを持って、私はlibnameがマップされた仮想メモ

    3

    2答えて

    私が取り組んでいるプロジェクトでは、追加機能を動的に読み込むことができます。そのためにdlopenを使用します。 このライブラリを見つけるには、モジュールパスと呼ばれるものがあります。そこには共有ライブラリがあるデフォルトパスがあります(それらの多くは出荷されています)。 現時点では、2つのデフォルトパスがあります。最初に、共有ディレクトリのビルドディレクトリを探し、その後でインストールディレクト

    6

    1答えて

    が見つかりません error warning: Ignored unknown object module at 0x129310 with type 0x8a8399 dlerror: dlopen(/path/libSecond.dylib, 9): Library not loaded: libFirst.dylib Referenced from: /path/libSeco

    5

    2答えて

    setenvを使用してDYLD_LIBRARY_PATHを設定していますので、dlopen()を実行すると正しい.dylibを見つけることができますが、dlopen DYLD_LIBRARY_PATHに追加したパスを検索しているようです。 私がDYLD_LIBRARY_PATHに行った変更は、自分のプロセスを再実行するまで有効になりません。これは正しいです? また正しい場合は、DYLD_LIBRA

    1

    1答えて

    dlopenを使用して.dylibファイルをロードするための@rpathが見つかりました。それらを理解する助けが必要です。私はOSXマシン上でXcode 3.2.5を使用しています。 私はいくつかの.dylibを持っていて、他の.dylibを呼び出していて、お互いを呼びます。 @rpathは読み込まれた最初の.dylibで動作するようですが、以前に見つかった@rpathを使用してロードされた最初の

    2

    1答えて

    私は非常に多くの共有ライブラリで構成されたアプリケーションを持っています。私はいくつかのperl拡張を書いた。また、perlをアプリケーションに埋め込んでいます。 私はC++のwithからperlスクリプトを呼び出しています。私のPerl拡張はSVとして命名されている、と言うことができます::ネット::情報とSV ::インターフェイスと私のperlのファイルがこの use SV::Net::Inf

    2

    2答えて

    私は動的に(1を参照してください)私は dlinfo を使用してライブラリの先頭アドレスを取得することができますC. にいくつかのLinuxのライブラリをロードしています。 しかし、ライブラリのサイズを取得するための情報はありません。 私が見つけた唯一のものは、(2を参照)1は の/ proc/[PID] /マップ ファイルを読み、関連する情報については、それを解析しなければならないということです

    0

    1答えて

    バックエンドとしてキーバリューストアを使用する独自のMySQLストレージエンジンを作成しようとしています。 私は今、必須部分を実装した最初のバージョンを書いて、MySQLソースインスタンスをコンパイル、リンク、インストールすることができました。そうした後、私はmysqlのコンソールで次のコマンドを使用して、私の新しいプラグインをロードしよう: install plugin ramcloud son

    5

    2答えて

    共有オブジェクトのdlopen()によってどのパスが検索されるかをプログラムで調べる方法はありますか?私はいつもdlopen()が/ libと/ usr/libだけを見ていると思っていましたが、Linux Mintではlibglib-2.0.soのようないくつかのコアコンポーネントが/ rofs/lib/i386-gnu-linuxなどがあります。 dlopen()が共有オブジェクトを検索するこれ