dlopen

    2

    1答えて

    dlopen()を使用してドキュメントディレクトリから動的フレームワークを読み込んでいますが、iOS10ではうまくいきましたが、iOS10ではこれ以上動作せず、コンソールのログは file system sandbox blocked mmap() of '/var/mobile/Containers/Data/Application/71EB4588-A83F-4AF0-9409-DD09AFB

    3

    1答えて

    dlopen()共有オブジェクトの場合、DLLを明示的に呼び出さずに実行するためのメカニズムがありますか?具体的には、呼び出し元のdlopen()が認識できないグローバル/静的なC++静的初期化コードですか?私は答えが "はい"であるべきであると確信していますが、どのような仕組みが起こるのか、どのようにそれを利用して任意のコードを実行するのかを覚えていません。

    2

    1答えて

    共有ライブラリの複数のコピーを同じアドレス空間にロードしたいと考えています。グローバル変数を共有しないようにしたいので、2つのコピーが他のものが読み込まれていることに気付かないようにします。 ユースケースは、スレッドに安全でないライブラリの並列実行です。 どのように私はLinux上でこの を行うことができますか? OS X? Windowsの場合 * BSD?他のUnixライクなシステムで ?

    1

    2答えて

    数年前、私は、Googleが独自のスタンドアロンファイルに座っているのではなく、共有オブジェクトを別のファイルの中にゼロ以外のオフセット、つまりmmapで格納するためのパッチを持っていると聞いていました。それは今までの土地でしたか?これらのオブジェクトを読み込むためのAPIとは何ですか?

    3

    2答えて

    私はCで動的ロードを試していますが、私は問題を抱えています。私は実行時にオブジェクトを読み込む小さなプログラムを持っています。オブジェクトには、いくつかのメッセージをstdinに書き込む単一の関数が含まれています。これはclangでOS X 10.10でコンパイルされています。ここでは、コードは次のようになります。ここでは /* loader.c */ #include <stdlib.h>

    1

    2答えて

    C++を使用しているSolaris 10の現在の実行可能ファイルから関数のアドレスを知る必要があります(私はGNU g ++ 4.9.2を使用しています)。たとえば、void doSomething(const char * p)という関数があります。これは、現在の実行可能ファイルで定義されている場合と定義されていない場合があります。だから、私は、現在の実行可能ファイル内の関数を検索したい場合は、

    0

    1答えて

    私は現在モジュラープログラムでdlopenを使用していますが、私は何かが間違っていると思いますが、わかりません。 requirementDataは、VoidDataというクラスのベクターです。これは単純にvoid *を扱うクラスです。 getCopyOfData()は、void *に格納されたデータをコピーするためにmemcpyを使用します。ここまでは正常ですが、のアドレスvoidptrは私のVo

    1

    1答えて

    32ビットマシンで書かれたコードがたくさんあります。今は64ビットにアップグレードしましたが、共有オブジェクトはロードされません。共有オブジェクトは32ビット(DMDの場合は-m32フラグ)でコンパイルされ、ホストアプリケーションも同様にコンパイルされます。 これは共有ライブラリです: module lib; export extern(C) int abcd(){ return 4

    2

    1答えて

    私はdlopen()によってロードされる私のプログラムで共有オブジェクトを使用しています。 ライブラリをmv debug/newLibrary.so plugin/usedLibrary.soで上書きすると、ロードされたライブラリと対話しようとするとすぐにプログラムがクラッシュします。私もdlclose()を使用することはできません、これは私にSIGSEVを取得します。 このような状況を処理するに

    0

    1答えて

    すべてがタイトルにあります。マニュアルページは何も言いません。一部のGoogleでは、dlopenの後にerrnoをチェックしている人がいると報告していますが、いくつかの結果しかありません。関数は成功/不成功の値を返しますが、失敗の原因をどのように把握する必要があります。 はerrnoを設定しますか?異なるerrno値はどこに定義されていますか? そうでない場合は、何が原因で障害が発生したのかを確