Answers:
在Windows 8/7 / Vista的x64版本中,C:\ Windows \ System32文件夹的内容取决于应用程序的位数。
对于64位应用程序(例如Windows Command Prompt,cmd.exe
),没有文件系统重定向:(
C:\Windows\System32
在软件中)-> C:\Windows\System32
(在磁盘上)。
因此,从64位应用程序的角度来看,C:\ Windows \ System32文件夹包含64位DLL和EXE文件。
对于bash.exe
通过Windows x64上的WoW64子系统运行的32位应用程序(例如来自Cygwin的文件),文件系统中有两个重定向:(
C:\Windows\System32
在软件中)-> C:\Windows\SysWOW64
(在磁盘上)。
C:\Windows\Sysnative
(在软件中)-> C:\Windows\System32
(在磁盘上)。
因此,从32位应用程序的角度来看,C:\ Windows \ System32文件夹包含32位DLL和EXE文件。
如果java*.exe
要从32位应用程序(例如Cygwin的bash.exe
)访问64位应用程序和DLL文件(例如),则需要使用C:\Windows\Sysnative
path或/cygdrive/c/Windows/Sysnative
Cygwin表示法。
(这是更新和扩展的答案)