私は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. Win32 32ビットプロセスが64ビットkernel32.dllをロードする
- 3. 32ビットDLLを静的に(!)64ビットC/C++ウィンドウアプリケーションにリンクするには?
- 4. 32ビットdllを64ビットdllに変換する
- 5. 64ビットのDLLを32ビットのJVMにロードできますか?
- 6. 64ビットWindowsで32ビットdllをインポート
- 7. 登録32ビットおよび64ビットの両方のDLL
- 8. 64ビットコンピュータで32ビットのアンマネージDLLをコンパイル
- 9. どのように32ビットのC#アプリケーションで64ビットDLLを利用できるのですか
- 10. link.exe、Kernel32.libの64ビット版または32ビット版を選択
- 11. 特定のWindows DLLは、明らかに32ビットと64ビットの両方をサポートしていますか?
- 12. 32ビットDLLは64ビットの依存関係をロードしますか?
- 13. 64ビットMFC DLLを使用しようとしているC++の32ビットアプリケーション
- 14. AMD 64ビット(rxtx)のIA 32ビット.dllをロードできない
- 15. 32ビットDLLを使用する64ビットJavaアプリケーション
- 16. EclipseでMinGW 32ビットを使って64ビットdllをビルドする
- 17. .NET - dllがそのDLLの32ビットまたは64ビットバージョンであるかどうかを確認するには
- 18. 32ビットと64ビットのセットアッププロジェクト
- 19. wix 64ビットDLLカスタムアクションサポート?
- 20. 64ビットPythonで32ビットdllまたはexeを使用できますか?
- 21. 64〜32ビットInterop - どのように?
- 22. アプリの64ビット版と32ビット版を同じバイナリにコピーしますか?
- 23. 64ビットアプリケーションから32ビットとしてC#アセンブリ(dll)を実行できますか?
- 24. ドライブCの問題32ビットと64ビット?
- 25. 32ビットプロセスに64ビットのdllをロードすることはできますか?
- 26. 64ビットコードから32ビットDLLにアクセスする
- 27. 64ビットコードから32ビットDLLにアクセスするexe sample
- 28. 64ビット.NETアプリケーションのtlbinf32.dll
- 29. 32ビットのMySQLを64ビットのMS Accessにリンクするには?
- 30. 64ビットのDLLを64ビットのJavaプログラムでロードできません
IIRCこれは、Windowsが新しいバージョンで行う仮想マッピングshenanigansと関係があります。 1つのDLLパスは、誰が要求しているかに応じて数十種類の異なるバージョンになることがあります。 –
DLLはkernel32.libにリンクされており、kernel32.dllにはリンクされていません。実行時に読み込まれる実際のDLLは、別の話です、Sophiaによって言われました。 –