アカウント名:
パスワード:
Windowsには動的ライブラリ(DLL)を相対指定で読み込もうとすると最初にカレントディレクトリから探すという仕様
2000年の時点でこんな記事が…「WindowsのDLL呼び出し順序に由来するセキュリティ・ホール - DLLを呼び出す「順序」が元凶 [nikkeibp.co.jp]」
それにしても酷い仕様だ。
最初は .exe の場所では。カレントディレクトリは2番目。(ただし、最近のWindowsだとsystem32, system, windowsに次ぐ5番目)
類としてはそうなんですが、相対パスって話でなくて、パスを指定なしで起動するとって話。
こんなの昔からWindows/DOSの仕様がオカシイといわれてた話。
UNIXで利用してる場合、「カレントディレクトリをPATHに含めないのはなぜか?」とか、「カレントディレクトリを追加する場合は、最後にしよう。」とか、そうゆう文脈で語られる基礎知識の話。
いまさら理解できませんとか、許しませんよ?
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
UNIXはシンプルである。必要なのはそのシンプルさを理解する素質だけである -- Dennis Ritchie
2000年からわかっていた問題 (スコア:2, 興味深い)
Windowsには動的ライブラリ(DLL)を相対指定で読み込もうとすると最初にカレントディレクトリから探すという仕様
2000年の時点でこんな記事が…「WindowsのDLL呼び出し順序に由来するセキュリティ・ホール - DLLを呼び出す「順序」が元凶 [nikkeibp.co.jp]」
それにしても酷い仕様だ。
Re:2000年からわかっていた問題 (スコア:0)
最初は .exe の場所では。
カレントディレクトリは2番目。(ただし、最近のWindowsだとsystem32, system, windowsに次ぐ5番目)
Re: (スコア:0)
プラグインをロードするときに、フルパス指定せずに、相対パスで読み込んでいるとか、そういう類の話だと思われるんですが。
# リンク先はちょっと目を通したぐらいじゃ理解できませんでした。
Re: (スコア:0)
類としてはそうなんですが、
相対パスって話でなくて、パスを指定なしで起動するとって話。
こんなの昔からWindows/DOSの仕様がオカシイといわれてた話。
UNIXで利用してる場合、
「カレントディレクトリをPATHに含めないのはなぜか?」とか、
「カレントディレクトリを追加する場合は、最後にしよう。」とか、
そうゆう文脈で語られる基礎知識の話。
いまさら理解できませんとか、許しませんよ?