2015-01-04 11 views
5

Ben programlama D bir acemi değilim. Fundamental Types okuduktan sonra, benim 64 -bit Windows 7 işletim sisteminde size_t türünü kontrol etmeye karar. Kod şu şekildedir:64-bit Windows 7'de neden size_t türü yazıyor?

import std.stdio; 

void main() 
{ 
    writeln("Type: ", size_t.stringof); 
    writeln("Size: ", size_t.sizeof); 
} 

yürüttükten sonra çıkışı:

Type: uint 
Size: 4 

benim anlayış Başına, size_t tipi 64 -bit OS üzerinde Ulong edilmelidir.
Herkes herhangi bir ipucu verebilir mi? Şimdiden çok teşekkürler!

+0

Olası? –

+3

64-bit bir program mı derliyorsunuz? 64 bitlik bir işletim sisteminde olduğunuzu söylediğinizin bu soruyu cevaplamadığını unutmayın. – hvd

+0

@hvd: "' DMD -v'" komutu, bu "'DMD32 D Derleyici v2.066.1'" görüntüler kullandıktan sonra. Demek ki, bu 'dmd' sadece 32 bit kodu derleyebilir, doğru mu? –

cevap

8

programın BITNESS OS veya derleyici BITNESS ayrıdır. DMD ile

, -m64 anahtarını belirtin 64-bit yürütülebilir oluşturun. Varsayılan olarak, DMD, derleyici ile aynı bitliğe sahip programlar oluşturur ve Windows paketi bir 32 bit derleyici içerir. (İsterseniz, ayrıca kaynak kodundan 64-bit derleyici inşa edebilirsiniz, ama bu 32-bit veya 64-bit olabilir programlarını kurar nasıl etkilemez.) Bir 32 bitlik sürecini çalıştıran