12 votes

Pourquoi java.exe n'est-il pas visible depuis cygwin, mais l'est depuis l'invite de commande ?

Pourquoi ne puis-je pas voir java.exe depuis Cygwin ?

Cygwin vs Win8

14voto

Mikhail Kupchik Points 2431

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)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X