2012-05-22 33 views
8

64 bit pencere aksamını programlamak istiyorum (tercihen NASM'yi kullanarak). Ben oldukça ama google baktım ama 64 bit windows derleyicisi bulamıyorum gibi görünüyor. Bazı siteler ml64'den bahsetti ama artık VC++ 'da yer almıyor gibi görünüyor. 32 bit montaj ile denedim, ama tabii ki 64 bit makinemde çöküyor. 64 bitlik bir windows makinesinde 32 bit montaj uygulamalarının yazılması, derlenmesi ve çalıştırılması mümkün müdür? Ya da 64 bit için yazılmalı ve derlenmeli mi?64-bit pencere montajcısı

Teşekkürler.

+0

, ml64.exe VS2010 benim kurulum dahildir. Ekspres sürümünde olsa da ... – PinnyM

+1

VS2010 Express kullanıcısı olup olmadığından emin değilim, ml64.exe Visual Studio/VC/bin/amd64 ve bin/x86_amd64 klasörlerinde bulunur. – DCoder

+0

NASM kullanmak istiyorsanız, http://nasm.us adresine gidin ve NASM'in Win32 sürümünü indirin. 64-bit bir sistemde çalışacak ve 64-bit uygulamalar oluşturacak. –

cevap

6

Yasm (*), hem x86 hem de AMD64/x86-64 komut kümeleri için bir araya getirilebilen, modern, çok platformlu bir NASM yeniden yazılan bir gruptur.

Ancak, muhtemelen, bir yürütülebilir dosya oluşturmak için birleştirilmiş nesne kodunu/dosyalarını bağlamanız için bir linker'a ihtiyacınız olduğu anlamına gelir. En azından tamamen ücretsiz olan MinGW (Minimal GNU for Windows) proje paketi, nesne dosyalarından (en az ELF ve PE nesne formatı) hem 32 hem de 64 bit Windows yürütücülerini bir araya getirebilen bir linker (ld) ile birlikte gönderilir.

Montajcıya ve bağlayıcıya doğru komut satırı parametrelerini sağladığınıza göre, 64 bit ortamda 32 bitlik projeleri kesinlikle çapraz derleme/derleme yapabilirsiniz. Daha kesin ayrıntılar için lütfen tercih ettiğiniz araçların belgelerine bakın.

*) Kayıt için http://yasm.tortall.net/

+0

Bence ld sadece linker .. –

+0

Bu doğru. Bunu işaret ettiğin için teşekkürler, içeriği aceleyle tamamen yanlış anladım ve terminolojiyi karıştırdım. Daha fazla ayrıntı için cevabı düzenledim ve geliştirdim. – zxcdw

+0

Yayınınız için çok teşekkürler. Bağlantı kurmak için ld kullanıyorum ama hala çöküyor gibi görünüyor. Beni, yasm ile derleyebilen ve 64-bit bir sisteme bağlanabilen, fakat 32-bit derlemede yazılan bir derleme kod snippet'ini sağlamanız mümkün mü? Hiçbir şey yapmak zorunda değil. Sadece derleme ve çökme olmadan çalıştırın. Bu harika olurdu. –

3

64 bit Windows'ta 32 bit derlemeyi yazmak, birleştirmek ve çalıştırmak mümkündür. Windows 7 x64 makinemde masm32'de birkaç yardımcı program yazdım. Eğer 64-bit kodu birleştirmek istiyorsanız, FASM'in 64-bit nesne kodunu desteklediğine inanıyorum.