dynamic-loading

    0

    1答えて

    したがって、実行時に.dylibファイルをC++で読み込み、その中で関数を呼び出そうとしています。ファイルの読み込みに問題はないようですが、 "print"関数への関数ポインタを作成しようとすると結果はNULLになります。が /* main.cpp */ #include <iostream> #include <string> #include <dlfcn.h> #include "

    0

    1答えて

    thesequestionsを読んだ後、シンボルの解決順序を制御する方法の詳細を探しています。 私の問題では、主に実行可能ファイルexecがあります。 execは、a.soとc.soに動的にリンクします。 a.soは、b.soに動的リンクします。 b.soは、通常c.soによって提供される機能fooを呼び出しますが、この場合もexecによって提供されます。 b.soは、c.soの実装がfooの場合

    0

    1答えて

    リフレクションで呼び出されたクラスで逆シリアル化されたときに、アセンブリを見つけることができないというメッセージがSerializationExceptionを受け取りました。テストソリューションには、コンソールアプリケーションとクラスライブラリがあります。 ここでは、全体のアプリの: using System; using System.Reflection; namespace Cons

    0

    1答えて

    は、私はcreatindライブラリた後 aarch64-none-elf-gcc -shared -o libhello.so ../src/helloworld.o を使用して私は1つの共有ライブラリを作成した共有librariesand( libhello.so を)働いています私はdynamiclly void *handle; void (*foo)(void); handle = d

    1

    1答えて

    私はAugmented RealityとUnity 3Dを完全に新しくしました。 私が取り組んでいるプロジェクトでは、リストから選択した後で3Dオブジェクトをカメラにロードする必要があります。 たとえば、 最初のページにApple、Orange、Mangoというリストが表示されます.Appleをクリックすると、3Dリンゴモデルがカメラに表示されます。 実行時にアセットバンドルから3Dモデルをターゲ

    1

    1答えて

    シンボルをdlsymに公開し、静的リンクと動的リンクの間に非表示にする方法はありますか? 私がしたいのは、共有ライブラリまたはプラグインとして変更なしで使用できるオブジェクトファイルを許可することです。オブジェクトファイルがライブラリとして使用可能になる場合、シンボルの衝突を避けなければなりません。残念ながら、これは、プラグインとして使用された場合、プラグインを初期化するために使用する関数の名前は

    0

    1答えて

    macOSアプリケーションでは、バンドルを実行時に「プラグイン」としてロードしています。 これらのプラグインの1つにフレームワークが必要な場合(たとえば、CSVパーサーフレームワークが必要なCSVインポーターを利用できるようにする)、どうすれば設定できますか? 主なアプリでCSV解析フレームワークとリンクしたくないのは明らかですが、メインアプリケーションはそのフレームワークのシンボルを解決する必要

    0

    1答えて

    私は.soファイルを持っており、このメソッドをC++コードで使用する必要があります。ヘッダーファイルはありません。必要なシンボルをnm単位で逆コンパイルします。見つかったメソッドとクラスの情報は次のとおりです。 00000000002ec9c0 B CFTDOrderField::m_Describe 0000000000067440 W CFTDOrderField::DescribeMemb

    0

    1答えて

    私は、アプリケーションでクラスの変数グループを動的に注入する必要があります。アプリケーションが大きくなるにつれて、同じインターフェイスを継承するクラスを追加するだけで済みます。これは、パッケージ内のすべてのクラスを検索し、それらをインスタンス化するためのループを実行するだけで済むので、tradicional javaで簡単に行うことができます。 CDIでやりたいたとえば: public MyVal

    0

    1答えて

    dlopen + dlsym呼び出しを使用して実行時にライブラリをロードしたいとします。私は、dlsym()を使用してロードする必要のある関数の名前をリストアップし、単純な 'for'ループを使用してこれらの関数をロードします。 'dl'呼び出しを使用してロードする関数(多分 'gcc'属性を使用)をマークする方法はありますか? ありがとう、 Ram。