x86 निष्पादन योग्य x64 होस्ट पर पूरी तरह से समर्थित है। जैसे 32-बिट मोड में संकलित कोई भी EXE 32-बिट और 64-बिट होस्ट पर किसी भी समस्या के बिना चलाएगा। यदि आपको नहीं पता कि आपको 64-बिट निष्पादन योग्य क्यों चाहिए, तो शायद आप नहीं करते हैं, इसलिए केवल 32-बिट निष्पादन योग्य पर्याप्त होगा।
हालांकि, डीएलएल के साथ यह एक अलग मामला है। डीएलएल का आर्किटेक्चर (32-बिट या 64-बिट) निष्पादन योग्य से मेल खाता है जहां डीएलएल का उपयोग किया जा रहा है। जैसे यदि आप x64 विंडोज के लिए एक्सप्लोरर एक्सटेंशन लिख रहे हैं, तो explorer.exe 64-बिट होने जा रहा है, इसलिए आपका डीएलएल 64-बिट भी होना चाहिए, अन्यथा इसे लोड नहीं किया जा सकता है।
विंडोज पर एक डीएलएल या EXE में दो अलग-अलग आर्किटेक्चर को गठबंधन करने का कोई तरीका नहीं है। इसलिए यदि आपको 32-बिट और 64-बिट होस्ट दोनों का समर्थन करने की आवश्यकता है तो आपको दो डीएलएल की आवश्यकता होगी।
32-बिट और 64-बिट को एक निष्पादन योग्य में संयोजित करने के लिए आप 32-बिट स्वयं-निकालने वाले के साथ ऐसा कर सकते हैं जो प्लेटफ़ॉर्म का पता लगाएगा और वर्तमान प्लेटफ़ॉर्म के लिए सही EXE निकालें/चलाएगा। हालांकि, इसका दो निष्पादन योग्यों पर कोई वास्तविक लाभ नहीं होगा। –
@haimg: 32-बिट EXE केवल 64-बिट विंडोज सिस्टम पर चल सकता है यदि WOW64 घटक स्थापित है। 64-बिट विंडोज संस्करणों में, WOW64 एक आवश्यक घटक था, लेकिन विंडोज सर्वर 2008 आर 2 में शुरू हुआ, WOW64 अब वैकल्पिक है इसलिए यह स्थापित हो सकता है या नहीं भी हो सकता है। –
@ रेमीलेबेउ-टीमबी: मान्य बिंदु। हालांकि, क्या आपने कभी WOW64 अनइंस्टॉल किए गए वास्तविक उत्पादन सिस्टम को देखा है? मैं कल्पना नहीं कर सकता कि एम्बेडेड सिस्टम के दायरे से बाहर ... – haimg