web-dev-qa-db-ja.com

Java.exeがcygwinからは表示されないのに、コマンドプロンプトからは表示されるのはなぜですか?

CygwinからJava.exeが表示されないのはなぜですか?

Cygwin vs Win8

12
Chloe

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

(これは更新され拡張された回答です)

14
Mikhail Kupchik