ทำไมฉันไม่เห็น java.exe จาก Cygwin
ทำไมฉันไม่เห็น java.exe จาก Cygwin
คำตอบ:
ใน x64 รุ่นของ Windows 8/7 / Vista เนื้อหาของ C: \ Windows \ System32 โฟลเดอร์ขึ้นอยู่กับbitnessของแอพลิเคชัน
สำหรับแอปพลิเคชัน 64 บิต (เช่นพรอมต์คำสั่งของ Windows cmd.exe
) ไม่มีการเปลี่ยนเส้นทางระบบไฟล์:
C:\Windows\System32
(ในซอฟต์แวร์) -> C:\Windows\System32
(บนดิสก์)
ดังนั้นโฟลเดอร์ C: \ Windows \ System32 จึงมีไฟล์ DLL 64 บิตและ EXE จากมุมมองของแอปพลิเคชัน 64 บิต
สำหรับแอปพลิเคชัน 32 บิต (เช่นbash.exe
จาก Cygwin) ซึ่งทำงานผ่านระบบย่อย WoW64 บน Windows x64 มีการเปลี่ยนเส้นทางสองครั้งในระบบไฟล์:
C:\Windows\System32
(ในซอฟต์แวร์) -> C:\Windows\SysWOW64
(บนดิสก์)
C:\Windows\Sysnative
(ในซอฟต์แวร์) -> C:\Windows\System32
(บนดิสก์)
ดังนั้นโฟลเดอร์ C: \ Windows \ System32 จึงมีไฟล์ DLL และ EXE ขนาด 32 บิตจากมุมมองของแอปพลิเคชันแบบ 32 บิต
หากคุณต้องการเข้าถึงแอปพลิเคชั่น 64- บิตและไฟล์ DLL (เช่นjava*.exe
) จากแอปพลิเคชั่น 32- บิต (เช่น Cygwin's bash.exe
) คุณต้องใช้C:\Windows\Sysnative
พา ธ หรือ/cygdrive/c/Windows/Sysnative
สัญลักษณ์ Cygwin
(นี่คือคำตอบที่อัปเดตและขยายออกไป)