Dlaczego nie mogę zobaczyć pliku java.exe z Cygwin?
źródło
W edycjach x64 systemu Windows 8/7 / Vista zawartość folderu C: \ Windows \ System32 zależy od bitowości aplikacji.
W przypadku aplikacji 64-bitowych (takich jak Wiersz polecenia systemu Windows cmd.exe
) nie ma przekierowania systemu plików:
C:\Windows\System32
(w oprogramowaniu) -> C:\Windows\System32
(na dysku).
Tak więc folder C: \ Windows \ System32 zawiera 64-bitowe pliki DLL i EXE z punktu widzenia 64-bitowej aplikacji.
W przypadku aplikacji 32-bitowych (takich jak bash.exe
Cygwin), które działają za pośrednictwem podsystemu WoW64 w systemie Windows x64, istnieją dwa przekierowania w systemie plików:
C:\Windows\System32
(w oprogramowaniu) -> C:\Windows\SysWOW64
(na dysku).
C:\Windows\Sysnative
(w oprogramowaniu) -> C:\Windows\System32
(na dysku).
Tak więc folder C: \ Windows \ System32 zawiera 32-bitowe pliki DLL i EXE z punktu widzenia aplikacji 32-bitowej.
Jeśli chcesz uzyskać dostęp do aplikacji 64-bitowych i plików DLL (takich jak java*.exe
) z aplikacji 32-bitowych (takich jak Cygwin bash.exe
), musisz użyć C:\Windows\Sysnative
ścieżki lub /cygdrive/c/Windows/Sysnative
notacji Cygwin.
(jest to zaktualizowana i rozszerzona odpowiedź)