Java.exe neden cygwin'den görünmüyor, ancak komut isteminden görünüyor?


Yanıtlar:


14

Windows 8/7 / Vista'nın x64 sürümlerinde, C: \ Windows \ System32 klasörünün içeriği uygulamanın bitine bağlıdır .

64 bit uygulamalar için (Windows Komut İstemi gibi cmd.exe) dosya sistemi yeniden yönlendirmesi yoktur:
C:\Windows\System32(yazılımda) -> C:\Windows\System32(diskte).
Bu nedenle, C: \ Windows \ System32 klasörü 64 bit uygulama açısından 64 bit DLL ve EXE dosyaları içerir.

bash.exeWindows x64 üzerinde WoW64 alt sistemi üzerinden çalışan 32 bit uygulamalar ( Cygwin gibi ) için, dosya sisteminde iki yeniden yönlendirme vardır:
C:\Windows\System32(yazılımda) -> C:\Windows\SysWOW64(diskte).
C:\Windows\Sysnative(yazılımda) -> C:\Windows\System32(diskte).
Bu nedenle, C: \ Windows \ System32 klasörü, 32 bit uygulama açısından 32 bit DLL ve EXE dosyaları içerir.

java*.exe32 bit uygulamalardan (Cygwin gibi ) 64 bit uygulamalara ve DLL dosyalarına (örneğin ) erişmek istiyorsanız bash.exe, C:\Windows\Sysnativeyolu veya /cygdrive/c/Windows/SysnativeCygwin gösterimini kullanmanız gerekir .

(bu güncellenmiş ve genişletilmiş bir cevaptır)


Evet, oradalar: Chloe @ xps / cygdrive / c / Windows / sysnative $ ls -la java * -rwx ------ + 1 SİSTEM SİSTEMİ 188320 Mar 7 04:43 java.exe
Chloe

Neden bunu yapıyor? DOS komut isteminden sysnative göremiyorum.
Chloe

2
Bu nedenle, cygwin's bash.exe 32 bit uygulama olarak çalışır ve bu bağlamda C: \ Windows \ System32 C: \ Windows \ SysWOW64 (java * dosyaları olmayan bir klasör) ile eşleştirilir. Windows komut istemi (cmd.exe) 64 bit uygulama olarak çalışır ve bu nedenle gerçek C: \ Windows \ System32'yi görebilir. 32 bit uygulamalardan gerçek system32 dizinine erişmek için C: \ Windows \ sysnative kullanın. Bu konu hakkında daha fazla bilgi: msdn.microsoft.com/tr-tr/library/windows/desktop/…
Mikhail Kupchik

Vay be bu tamamen geri ve kafa karıştırıcı!
Chloe

1
Evet, 64 bit sistem DLL ve EXE dosyaları için \ Windows \ system64 dizini yapmış olmalılar, ancak ne yazık ki System32 dizininde ve garip dosya sistemi yönlendirmesinde 64 bit dosyalarımız var.
Mikhail Kupchik
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.