Java.exe साइबरविन से क्यों नहीं दिखाई देता है, लेकिन कमांड-प्रॉम्प्ट से दिखाई देता है?


जवाबों:


14

Windows 8/7 / Vista के x64 संस्करणों में, C: \ Windows \ System32 फ़ोल्डर की सामग्री अनुप्रयोग की बिटनेस पर निर्भर करती है ।

64-बिट अनुप्रयोगों (जैसे विंडोज कमांड प्रॉम्प्ट cmd.exe) के लिए , कोई फाइल सिस्टम पुनर्निर्देशन नहीं है:
C:\Windows\System32(सॉफ्टवेयर में) -> C:\Windows\System32(डिस्क पर)।
तो, C: \ Windows \ System32 फ़ोल्डर में 64-बिट डीएलएल और EXE फाइलें शामिल हैं, 64-बिट एप्लिकेशन के दृष्टिकोण से।

32-बिट अनुप्रयोगों (जैसे कि bash.exeसिग्विन से) के लिए जो विंडोज x64 पर WoW64 सबसिस्टम के माध्यम से चलता है, फाइलसिस्टम में दो पुनर्निर्देशन हैं:
C:\Windows\System32(सॉफ्टवेयर में) -> C:\Windows\SysWOW64(डिस्क पर)।
C:\Windows\Sysnative(सॉफ्टवेयर में) -> C:\Windows\System32(डिस्क पर)।
तो, C: \ Windows \ System32 फ़ोल्डर में 32-बिट DLL और EXE फ़ाइलें हैं, 32-बिट अनुप्रयोग के दृष्टिकोण से।

यदि आप java*.exe32-बिट अनुप्रयोगों (जैसे सिग्विन के bash.exe) से 64-बिट अनुप्रयोगों और डीएलएल फ़ाइलों (जैसे ) का उपयोग करना चाहते हैं, तो आपको C:\Windows\Sysnativeपथ का उपयोग करने की आवश्यकता है , या /cygdrive/c/Windows/Sysnativeसिग्विन संकेतन में।

(यह एक अद्यतन और विस्तारित उत्तर है)


हाँ, वे देखते हैं: क्लो @ XPS / cygdrive / सी / विंडोज / sysnative $ ls -la जावा * -rwx ------ + 1 प्रणाली प्रणाली 188,320 मार्च 7 04:43 java.exe
क्लो

वह ऐसा क्यों करता है? मैं DOS प्रॉम्प्ट से sysnative नहीं देख सकता।
क्लो

2
तो, cygwin का bash.exe 32-बिट एप्लिकेशन के रूप में चलता है और उस संदर्भ में C: \ Windows \ System32 को C: \ Windows \ SysWOW64 (जावा * फ़ाइलों के बिना एक फ़ोल्डर) में मैप किया जाता है। विंडोज कमांड प्रॉम्प्ट (cmd.exe) 64-बिट एप्लिकेशन के रूप में चलता है और इसलिए यह सही C: \ Windows \ System32 को देखने में सक्षम है। 32-बिट अनुप्रयोगों से सही system32 निर्देशिका तक पहुंचने के लिए C: \ Windows \ sysnative का उपयोग करें। इस विषय पर अधिक जानकारी: msdn.microsoft.com/en-us/library/windows/desktop/…
मिखाइल

वाह कि पूरी तरह से पीछे की ओर है और भ्रमित!
च्लोए

1
हाँ, उन्हें 64-बिट सिस्टम DLL और EXE फ़ाइलों के लिए \ Windows \ system64 निर्देशिका बनानी चाहिए थी, लेकिन दुर्भाग्य से हमारे पास System32 निर्देशिका और अजीब फाइल सिस्टम पुनर्निर्देशन में 64-बिट फाइलें हैं।
मिखाइल कुपचिक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.