Antworten:
In x64-Editionen von Windows 8/7 / Vista hängt der Inhalt des Ordners C: \ Windows \ System32 von der Bitheit der Anwendung ab.
Für 64-Bit-Anwendungen (wie die Windows-Eingabeaufforderung cmd.exe) gibt es keine Umleitung des Dateisystems:
C:\Windows\System32(in der Software) -> C:\Windows\System32(auf der Festplatte).
Der Ordner C: \ Windows \ System32 enthält also 64-Bit-DLL- und EXE-Dateien aus Sicht der 64-Bit-Anwendung.
Für 32-Bit-Anwendungen (z. B. bash.exevon Cygwin), die über das WoW64-Subsystem unter Windows x64 ausgeführt werden, gibt es zwei Umleitungen im Dateisystem:
C:\Windows\System32(in der Software) -> C:\Windows\SysWOW64(auf der Festplatte).
C:\Windows\Sysnative(in Software) -> C:\Windows\System32(auf Festplatte).
Der Ordner C: \ Windows \ System32 enthält also 32-Bit-DLL- und EXE-Dateien aus Sicht der 32-Bit-Anwendung.
Wenn Sie java*.exeüber 32-Bit-Anwendungen (z. B. Cygwins bash.exe) auf 64-Bit-Anwendungen und DLL-Dateien (z. B. ) zugreifen möchten , müssen Sie den C:\Windows\SysnativePfad oder die /cygdrive/c/Windows/SysnativeCygwin-Notation verwenden.
(Dies ist eine aktualisierte und erweiterte Antwort)