CygwinからJava.exeが表示されないのはなぜですか?
Windows 8/7/Vistaのx64エディションでは、C:\ Windows\System32フォルダーの内容はアプリケーションのbitnessに依存します。
64ビットアプリケーション(Windowsコマンドプロンプト、cmd.exe
など)の場合、ファイルシステムのリダイレクトはありません。C:\Windows\System32
(ソフトウェア内)-> C:\Windows\System32
(ディスク上)。
したがって、C:\ Windows\System32フォルダーには、64ビットアプリケーションの観点から、64ビットDLLおよびEXEファイルが含まれています。
Windows x64のWoW64サブシステムを介して実行される32ビットアプリケーション(Cygwinのbash.exe
など)の場合、ファイルシステムには2つのリダイレクトがあります。C:\Windows\System32
(ソフトウェア内)-> C:\Windows\SysWOW64
(ディスク上)。C:\Windows\Sysnative
(ソフトウェア内)-> C:\Windows\System32
(ディスク上)。
したがって、C:\ Windows\System32フォルダーには、32ビットアプリケーションの観点から、32ビットDLLおよびEXEファイルが含まれています。
32ビットアプリケーション(CygwinのJava*.exe
など)から64ビットアプリケーションおよびDLLファイル(bash.exe
など)にアクセスする場合は、次を使用する必要があります。 C:\Windows\Sysnative
パス、またはCygwin表記の/cygdrive/c/Windows/Sysnative
。
(これは更新され拡張された回答です)