के तहत चलाने के लिए प्रतीत होता है मैंने विजुअल स्टूडियो 2010 (विंडोज 7 64 बिट के तहत) में 64 बिट सी ++ प्रोजेक्ट बनाया है;64 बिट वीसी ++ प्रोग्राम 32 बिट मोड
मैंने सोचा कि मैं एक 64 बिट आवेदन चल रहा था, और निम्नलिखित कोड सच लौटे:
bool is64bit = (sizeof(void*)==8);
लेकिन अगर मैं समारोह IsWow64Process
कहा जाता है, यह गलत ... लौटे
अधिक अजीब चीजें:
LoadLibrary()
कोके तहत एक डीएल लोड करने के लिए कॉल करनाc:\windows\sysWow64\some.dll
के तहत एक dll लोड अच्छी तरह से- काम करता है असफल हो जायेगी (त्रुटि कोड 193: एक मान्य Win32 आवेदन some.dll नहीं है)
इन सभी विफलताओं का सुझाव आवेदन 32bit मोड, के तहत चल रहा है, लेकिन यह है सच्चाई के खिलाफ सूचक प्रकार 8-बाइट लंबाई
मैं उलझन में हूं, किसी भी मदद की सराहना की जाएगी!
+1 ओपी का वर्णन सबकुछ 64-बिट ओएस पर 64-बिट अनुप्रयोग के साथ 100% संगत है। –
@ डेविडस्वार्टज़ हाँ - लोग भ्रमित हो जाते हैं क्योंकि WoW64 का उपयोग करने का मतलब है कि आप 32 बिट चला रहे हैं, जो कि आप नाम देने के बारे में सोचने के विपरीत है;) –
अच्छा जवाब। WoW64 और system32 के बीच अंतर को समझने से मुझे कुछ समय पहले ठोस सिरदर्द मिला। – nothrow