Por que o java.exe não é visível no cygwin, mas é visível no prompt de comando?

11

Por que não consigo ver o java.exe do Cygwin?

    
por Chloe 08.03.2013 / 20:51

1 resposta

14

Nas edições x64 do Windows 8/7 / Vista, o conteúdo da pasta C: \ Windows \ System32 depende da bitness do aplicativo.

Para aplicativos de 64 bits (como Prompt de comando do Windows, cmd.exe ), não há redirecionamento de sistema de arquivos:% C:\Windows\System32 (no software) - > C:\Windows\System32 (no disco).
Portanto, a pasta C: \ Windows \ System32 contém arquivos DLL e EXE de 64 bits, do ponto de vista do aplicativo de 64 bits.

Para aplicativos de 32 bits (como bash.exe do Cygwin) que são executados pelo subsistema WoW64 no Windows x64, há dois redirecionamentos no sistema de arquivos:
C:\Windows\System32 (no software) - > C:\Windows\SysWOW64 (no disco).
C:\Windows\Sysnative (no software) - > C:\Windows\System32 (no disco).
Portanto, a pasta C: \ Windows \ System32 contém arquivos DLL e EXE de 32 bits, do ponto de vista do aplicativo de 32 bits.

Se você deseja acessar aplicativos de 64 bits e arquivos DLL (como java*.exe ) de aplicativos de 32 bits (como bash.exe do Cygwin), é necessário usar C:\Windows\Sysnative path ou /cygdrive/c/Windows/Sysnative in Notação Cygwin.

(esta é uma resposta atualizada e estendida)

    
por 08.03.2013 / 20:55