2011-10-07 42 views
6

Derleyiciyi, x86 ve x64 için yürütülebilir/DLL'yi derleyecek şekilde kurmak mümkün mü? Her iki platform için uygun bir dosya demek istiyorum.Hem x86 hem de x64 için derleme

Sadece platformları ayrı ayrı seçmenin bir yolunu biliyorum, ama ikisini de istiyorum.

Mümkün mü? X64 anasistemde tam olarak desteklenir

cevap

19

x86 yürütülebilir. Örneğin. 32-bit modunda derlemek herhangi bir EXE 32-bit ve 64-bit ana bilgisayarda herhangi bir sorun olmadan çalışır. Neden 64-bitlik bir çalıştırmaya ihtiyacınız olduğunu bilmiyorsanız, muhtemelen yapmazsınız, bu nedenle sadece 32-bitlik bir yürütülebilir program yeterli olacaktır. Bununla birlikte, DLL'lerle farklı bir konudur. DLL mimarisinin (32 bit veya 64 bit) ,, DLL'nin kullanılacağı yürütülebilir dosyayla eşleşmesi gerekir. Örneğin. x64 Windows için bir Explorer uzantısı yazıyorsanız, explorer.exe 64-bit olacak, bu yüzden DLL dosyanızın 64-bit olması gerekir, aksi takdirde yüklenemez.

İki farklı mimariyi Windows'ta bir DLL veya EXE'de birleştirmenin bir yolu yoktur. Yani, hem 32 bit hem de 64 bit ana bilgisayarları desteklemeniz gerektiğinde iki DLL'ye ihtiyacınız olacak.

+0

Bir yürütülebilir dosyaya 32 bit ve 64 bit birleştirme işleminde, platformu algılayan ve geçerli platform için doğru EXE dosyasını ayıklayabilen/çalıştıran bir 32 bitlik kendiliğinden çıkarıcı ile yapabilirsiniz. Ancak, bu iki çalıştırılabilir üzerinde herhangi bir gerçek yararı olmazdı. –

+6

@haimg: 32 bit EXE, yalnızca WOW64 bileşeni yüklüyse, 64 bit Windows sisteminde çalışabilir. 64 bit Windows sürümlerinde, WOW64 gerekli bir bileşendi, ancak Windows Server 2008 R2'den başlayarak WOW64 artık isteğe bağlı olabilir veya yüklenmemiş olabilir. –

+0

@ RemyLebeau-TeamB: Geçerli nokta. Bununla birlikte, WOW64 kaldırılmış gerçek bir üretim sistemi gördünüz mü? Gömülü sistemlerin alanı dışında hayal bile edemiyorum ... – haimg

İlgili konular