2010-07-05 3 views
6

J'ai un fichier d'en-tête C (il fait partie d'un SDK) et il y a un typedef qui dépend de l'architecture du système (32 ou 64 bits), comment le transférer vers mon Module D? Merci.déterminer l'architecture du processeur en D

Edit: OK, c'était trop simple et je l'ai déjà trouver une solution ... Si quelqu'un intéressé, il est:

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

Répondre

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

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

+0

Merci. Btw existe-t-il un analogue de l'erreur # C de C dans D afin que je puisse montrer une erreur de compilation dans le cas "none of above"? – szx

+2

Vous pouvez faire 'static assert (0)' dans le bloc 'else'. – You

+0

Ce que vous avez dit. : P –

Questions connexes