Search code examples
headerd

determine CPU architecture in D


I have a C header file (it's a part of some SDK) and there is a typedef which depends on system architecture (whether it is 32 or 64-bit), how do I transfer it to my D module? Thanks.

Edit: OK, that was too simple and I've already find a solution... If someone interested, it is:

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

Solution

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

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