DLL を .exe と同じフォルダにコピーすると、動作します。ただし、これには(一種の)回避策があります。デバッガーオプションを開いてDLLの元のパスを環境ブロックに追加すると、IDE内でプロジェクトを開始すると機能しますが、次の場合は機能しませんエクスプローラーで project.exe ファイルを起動します。これは実際には問題ではありません。これらのファイル間の関係を知りたいだけです。
質問する
1169 次
1 に答える
6
DLL がその名前だけでリンクされている場合、DLL 検索パスを使用してその場所を特定します。この検索パスは、さまざまな設定によって変化する複雑な獣です。MSDNで詳細に文書化されています。
DLL 検索パスのすべてのバリアントで、実行可能ファイルのロード元のディレクトリが最初に検索されます。これは、DLL をロードする最も安全な方法です。PATH
グローバル環境変数の変更を要求することは侵襲的です。システム ディレクトリに DLL をインストールすることを要求することは侵襲的であり、ベスト プラクティスのすべての推奨事項に反します。現在のディレクトリの使用を要求することは、脆弱で壊れやすく、セキュリティの脆弱性を引き起こします。
理想的な世界では、アプリケーションを分離する必要があります。これを実現する最も効果的な方法は、実行可能ファイルと同じディレクトリに依存関係を配置することです。
于 2012-10-21T19:39:53.980 に答える