DLLの複数のインスタンスを明示的に(つまりLoadLibrary呼び出しで)読み込む方法があるのだろうかと思っていました。通常、プロセスは、LoadLibraryが呼び出されたとき(つまり、ライブラリの1つのコピーがプロセスのメモリに存在するように)、DLLを1回ロードします。その結果、同じライブラリに対してLoadLibraryを呼び出すと、最初の呼び出しによって返されます。具体的には、プロセスの内部で作成されたスレッドごとに個別のDLLインスタンスをロードできるようにしたいと考えています。現在、各スレッドでLoadLibraryを実行すると、プロセスのアドレス空間にあるライブラリの1つのインスタンスに同じポインタが取得され、実際にはすべてのスレッドがライブラリの同じ関数を参照します(ここでは大きな混乱が発生します私のアプリで)。代わりに、ライブラリから関数を呼び出すときにスレッドが互いに干渉しないように、各スレッドが個別のメモリ空間にライブラリの個々のインスタンスを作成するようにします。mfcで動的DLLの複数のインスタンスを読み込む方法
0
A
答えて
0
新しいプロセスを作成してそのプロセスでDLLをロードするまで、これは可能ではないと思います。 DLLはプロセスレベルでロードされます(したがって、プロセス制御ブロックにエントリがあります)。 DLLは、DLLMainメソッドでTLS固有のデータを初期化できるように、ホストアプリケーションで新しいスレッドが作成されたかどうかを検出できますが、
関連する問題
- 1. ウェブプロジェクトを複数の.DLLに組み込む方法は?
- 2. 複数のファイルを読み込んでデータフレームに読み込む方法
- 3. 複数のムービーサムイメージを1つのUICollectionViewで読み込む方法
- 4. aspコントロールを含むUserControlを動的に読み込む方法
- 5. HandlebarJSで複数のテンプレートを読み込む方法
- 6. PyGameで複数の画像を読み込む方法は?
- 7. Jupyterノートブックで複数の画像を読み込む方法は?
- 8. オートコンプリートテキストビューで複数のフィールドを読み込む方法
- 9. アンドロイド動的な設定を読み込む最良の方法
- 10. JQTouchで動的ページを読み込む方法
- 11. jsonスキーマをwebpackでtypescriptに動的に読み込む方法
- 12. Rでパッケージを自動的に読み込む方法は?
- 13. Phantomjsでスクロールして動的コンテンツを読み込む方法
- 14. perlでプラグインファイルを動的に読み込む方法は?
- 15. CでRustライブラリを動的に読み込む方法は?
- 16. JSFテーブルで動的コンテンツを読み込む方法
- 17. Ember.jsで部分/ビュー/テンプレートを動的に読み込む方法
- 18. webviewで動的HTML文字列を読み込む方法
- 19. CygwinでDLLをPythonに読み込む
- 20. 複数の子プロセスをフォークして読み込む方法は?
- 21. 一度に複数のdivを読み込む方法
- 22. 複数のjpgテクスチャファイルを読み込む方法THREE.js with obj + mtl
- 23. 複数のファイルをCaffeモデルに読み込む方法
- 24. java複数のJTextFieldを.txtファイルから読み込む方法
- 25. Cプログラムでstdinを複数回読み込む方法
- 26. DLLの明示的な読み込み
- 27. 複数の.dtaファイルを読み込む
- 28. 複数のプロパティファイルを読み込む
- 29. Codeigniter複数のテンプレートを読み込む
- 30. 複数のテクスチャを読み込むopenGL
Ankur:あなたの説明のためにいくつかのサンプルを提供できますか? – karthik
DllMainのドキュメントは、http://msdn.microsoft.com/en-us/library/windows/desktop/ms682583(v=vs.85).aspxを参照してください。特に備考セクション – Ankur
Ankur:私の目的は、同じdllに対して多くのインスタンスを作成することです。 – karthik