私は64bit DLLが32bit DLLにリンクできないと確信していました。32ビットと64ビットのDLLはどのように同じC: system32 kernel32.DLLにリンクしますか?
4
A
答えて
6
Wow64にはファイルリダイレクタがあります。それは同じ名前のdllを持っていますが、適切な場所に格納されています。概念は次のところで説明されていますhttp://msdn.microsoft.com/en-us/library/aa384187(v=vs.85).aspx
%windir%\ System32ディレクトリは64ビットアプリケーション用に予約されています。ほとんどのDLLファイル名は、64ビットバージョンのDLLが作成されたときに変更されていないため、DLLの32ビットバージョンは別のディレクトリに格納されます。 WOW64は、ファイルシステムリダイレクタを使用してこの違いを隠します。
ほとんどの場合、32ビットアプリケーションが%windir%\ System32にアクセスしようとすると、アクセスは%windir%\ SysWOW64にリダイレクトされます。 %windir%\ lastgood \ system32へのアクセスは%windir%\ lastgood \ SysWOW64にリダイレクトされます。 %windir%\ regedit.exeへのアクセスは%windir%\ SysWOW64 \ regedit.exeにリダイレクトされます。
関連する問題
- 1. Officeの32ビットdll 64ビット
- 2. 32ビットDLLを静的に(!)64ビットC/C++ウィンドウアプリケーションにリンクするには?
- 3. 32ビットdllを64ビットdllに変換する
- 4. 64ビットのDLLを32ビットのJVMにロードできますか?
- 5. 登録32ビットおよび64ビットの両方のDLL
- 6. 64ビットコンピュータで32ビットのアンマネージDLLをコンパイル
- 7. どのように32ビットのC#アプリケーションで64ビットDLLを利用できるのですか
- 8. 32ビットDLLは64ビットの依存関係をロードしますか?
- 9. 32ビットと64ビットのセットアッププロジェクト
- 10. アプリの64ビット版と32ビット版を同じバイナリにコピーしますか?
- 11. 32ビットDLLを使用する64ビットJavaアプリケーション
- 12. EclipseでMinGW 32ビットを使って64ビットdllをビルドする
- 13. .NET - dllがそのDLLの32ビットまたは64ビットバージョンであるかどうかを確認するには
- 14. 64〜32ビットInterop - どのように?
- 15. 64ビットPythonで32ビットdllまたはexeを使用できますか?
- 16. wix 64ビットDLLカスタムアクションサポート?
- 17. 64ビットアプリケーションから32ビットとしてC#アセンブリ(dll)を実行できますか?
- 18. ドライブCの問題32ビットと64ビット?
- 19. 32ビットプロセスに64ビットのdllをロードすることはできますか?
- 20. 64ビットコードから32ビットDLLにアクセスするexe sample
- 21. 64ビットのDLLを64ビットのJavaプログラムでロードできません
- 22. 64ビットシステムに32ビットDLLを登録する
- 23. 32ビット対64ビットのカスタムフレームワーク
- 24. 32ビット/ 64ビットOS?
- 25. 32ビット、64ビット、参照ライブラリ
- 26. Excel 2007(Vista 64ビット版)を使用して32ビットDLLをロードする
- 27. Javaの64ビットマシンで32ビットdllを実行する
- 28. Delphi XE2:64ビットのアプリケーションで64ビットのDLLをデバッグ
- 29. 32ビットと64ビットは一緒に動作できますか?
- 30. 32ビットと64ビットマシンの両方で常に64ビットです
IIRCこれは、Windowsが新しいバージョンで行う仮想マッピングshenanigansと関係があります。 1つのDLLパスは、誰が要求しているかに応じて数十種類の異なるバージョンになることがあります。 –
DLLはkernel32.libにリンクされており、kernel32.dllにはリンクされていません。実行時に読み込まれる実際のDLLは、別の話です、Sophiaによって言われました。 –