2010-07-05 29 views
6

olarak belirler. C başlık dosyam var (bazı SDK'nın bir parçası) ve sistem mimarisine bağlı bir yazım hatası var (ister 32 ister 64 bit), bunu nasıl aktarırım? D modülü? Teşekkürler., CPU mimarisini D

Düzenleme: Birisi ilgilenen varsa Tamam, bu çok basitti ve zaten bir çözüm bulmak ettik ... , öyle:

version(X86) { 
    typedef int your_type; 
} 
version(X86_64) { 
    typedef long your_type; 
} 

cevap

9
version(X86) 
{ 
    // 32-bit 
} 
else 
version(X86_64) 
{ 
    // 64-bit 
} 
else 
{ 
    // none of the above 
} 

Kaynak: http://digitalmars.com/d/2.0/version.html

+0

teşekkürler. Btw, C'deki #error'un herhangi bir analogu var, bu yüzden "yukarıdakilerin hiçbiri" durumunda bir derleme zamanı hatası gösterebilirim? – szx

+2

'else' bloğu içinde durağan assert (0)' yapabilirdiniz. – You

+0

Ne dedin. : P –