Pourquoi ne puis-je pas voir java.exe depuis Cygwin ?
Réponse
Trop de publicités?Dans les éditions x64 de Windows 8/7/Vista, le contenu de la rubrique C:\Windows\System32 dépendent du dossier bitness de la demande .
Pour les applications 64 bits (telles que Windows Command Prompt, cmd.exe
), il n'y a pas de redirection du système de fichiers :C:\Windows\System32
(dans le logiciel) -> C:\Windows\System32
(sur le disque).
Donc, C:\Windows\System32 contient des fichiers DLL et EXE 64 bits, du point de vue d'une application 64 bits.
Pour les applications 32 bits (telles que bash.exe
de Cygwin) qui fonctionne via le sous-système WoW64 sous Windows x64, il y a deux redirections dans le système de fichiers :C:\Windows\System32
(dans le logiciel) -> C:\Windows\SysWOW64
(sur le disque).C:\Windows\Sysnative
(dans le logiciel) -> C:\Windows\System32
(sur le disque).
Donc, C:\Windows\System32 contient des fichiers DLL et EXE 32 bits, du point de vue d'une application 32 bits.
Si vous voulez accéder à des applications 64 bits et à des fichiers DLL (tels que java*.exe
) à partir d'applications 32 bits (comme l'application Cygwin bash.exe
), vous devez utiliser C:\Windows\Sysnative
ou /cygdrive/c/Windows/Sysnative
en notation Cygwin.
(il s'agit d'une réponse mise à jour et étendue)