問題タブ [dynamic-loading]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 動的ローディングと遅延バインディングの類似点と相違点は何ですか?
ウィキペディアから:
動的ロードは、コンピュータープログラムが実行時にライブラリ(または他のバイナリ)をメモリにロードし、ライブラリに含まれる関数と変数のアドレスを取得し、それらの関数を実行するか、それらの変数にアクセスし、メモリからのライブラリ。
実行時バインディングは、オブジェクトに対して呼び出されているメソッドが実行時に名前で検索されるコンピュータープログラミングメカニズムです。
私の意見では、
類似点は、どちらも実行時にメソッドが検索されるメカニズムであるということです。
違いは、動的ロードでは実行時にライブラリをロードした後にリンカーを使用する必要はありませんが、遅延バインディングには常にリンカーが必要です。
私が正しいかどうか、特に違いの部分はわかりません。あなたの分析からもっと学びたいと思います。
c# - 実装の詳細を.netのクラスライブラリに適切に分離する方法
共通のインターフェイスに基づいてこれらのライブラリでアクションを実行するプロセスによって動的にロードされる個別のクラス ライブラリ/アセンブリに実装ロジックを効率的に分離するための標準的な方法が C#(または cli) にあるかどうか疑問に思っています。
より正確には、メッセージを受信し、これらのメッセージの処理を別のものに委任するサービスを構築しているとします。何かのようなもの:
ある種の構成から実行時にクラス ライブラリをロードするプロセスが必要です。ライブラリには、次のようなインターフェイス部分を実装するメインクラスまたはクラスファクトリがあると思います。
これはすべて、アセンブリ内のクラスにある種の注入可能なインターフェイスを実装させ、アプリ構成に行を追加し、無料で大量のものを取得するだけで、やや Java のように感じます。
java - jarを動的にロードし、その中で任意のコードを実行します
私は自分が書いているJavaコンソールアプリを持っています。そして、人々がそれのためのプラグインを書いて、それらのプラグインをjarとして配布できるようにしたいと思っています。ユーザーがプラグイン(jar)を「plugins」フォルダーにドロップし、アプリを再起動して、プラグインをロードして実行できるようにしたいと思います。プラグインなどで実行するクラス/メソッドをユーザーが指定する必要はありません。
ワイルドカードクラスパスを使用してjarを「plugins」ディレクトリにロードできますが、register()
各プラグインがどこかで定義する必要があるメソッドを実行することにより、これらのプラグインがアプリケーションに登録するための何らかの方法が必要です。プラグイン(jar)は、メソッドが定義されている場所(パッケージとクラス)をどのように指定しregister()
て、アプリがそれを呼び出すことができるようにすることができますか?
私はOSGiがこれを達成できることを理解していますが、これはかなり小さなアプリケーションであり、より単純なソリューションが存在する場合はOSGiを使用したくないと思います。
バックグラウンド:
これらのプラグインは、処理したいアプリからのイベントを登録します。ユーザーはプラグインごとに特定のイベントの処理を無効にできるため、これらのプラグインの構成はアプリのデータベースに保存されます。プラグインがそれ自体を登録すると、アプリはデータベースをチェックしてそのプラグインの構成が存在するかどうかを確認し、存在しない場合はデータベースに新しいデフォルト構成を作成します。
java - Java の System.load() と System.loadLibrary の違い
javaのSystem.load()
との違いは何ですか?System.loadLibrary()
ライブラリをロードしたいのですが、環境変数へのパスを追加したくありません。これらのいずれかが役立ちますか?
javascript - ExtJS4 エラー: Uncaught Ext.Error: 認識されないエイリアスのインスタンスを作成できません: layout.border
extjs4 の新しい動的読み込み機能を使用したインデックス ページは次のとおりです。
ディレクトリ /public/assets/test/app に、 Portal.js というファイルがあります。
Chrome DevTool で、次のようなエラー:
linker - ロード時の再配置と仮想メモリ
仮想メモリをサポートするシステムでロード時の再配置が実際に何を意味するのか疑問に思っています。ページテーブル。したがって、再配置を必要とせずに、実行可能ファイルをメモリ内のどこにでもロードできます。ただし、共有ライブラリに関するこの記事では、リンカーが実行可能ファイルをロードする実行可能ファイル内のアドレス (エントリポイント アドレス) を指定すると述べています。
http://eli.thegreenplace.net/2011/08/25/load-time-relocation-of-shared-libraries/
また、絶対アドレスについて説明している動的リンクに関する記事も多数あります。私の理解は間違っていますか?
c++ - 実行時にロードされた共有オブジェクトからホストプロセスのシンボルにアクセスできますか?別の方法はありますか?
私のシナリオでは、実行時にロードされる共有オブジェクトであるプラグインが「ホストアプリケーション」からシンボルにアクセスして、アプリケーションに任意の機能を追加できるようにします。
私はこれを試みましたが、これを行う方法を見つけられず、これが可能かどうかについての手がかりがありません。それで、私はこれをどうにかして行うことができますか、それともプラグインを使用するアプリケーションが使用する代替手段はありますか?
私はFedora15、Linux2.6.4を使用しています。ただし、ソリューションがクロスプラットフォームになることを願っています。
c - 他のバイナリからシンボルを読み込む
私は C および C++ プログラミングに比較的慣れていませんが、共有ライブラリからシンボルを読み込んで呼び出すことができる場合 (バイナリのようにコンパイルおよびリンクされていることを理解しています)、別の [実行可能] バイナリからシンボルを読み込むことも可能ですか?実行時間中?
Linux 上の GCC でこれを行うことに特に興味があります。
javascript - 別のスクリプト ファイルから JS インクルードを読み込むときに成功のコールバックを行う方法
HTML マークアップのスクリプト タグからjquery.min.jsを読み込めない従来の Web アプリの状況があるため、別の既存のスクリプト ファイルでいくつかの js を使用して読み込む必要があります。
問題は..インクルードのロードが遅いとき..実行しようとしてjQueryを見つけることができないjQuery関数(ページに動的にロードされる)があります
jquery.min.js インクルード ファイルが CDN からのダウンロードを完了した後に、上記のコードでコールバックを実行するクロス ブラウザーの方法はありますか? ありがとう、
編集:
Mike のコードを使用すると、これはIE 8 以前を除くほぼすべてのブラウザのonloadで動作します..およびonreadystatechangeを必要とする他のブラウザ
ここでJSFIDDLE:
haskell - Haskell抽象構文式の動的ローディング
GHC APIなどを使用して、テキストソースモジュールではなく、haskell-src-extsExp
タイプと同様のAST式をロードできますか?このようにして、コードの生成と解析にかかる時間を節約できます。