Interfacing D with C: Getting Started
Mike Parker
aldacron at gmail.com
Wed Dec 6 04:33:38 UTC 2017
On Wednesday, 6 December 2017 at 04:27:01 UTC, Mike Parker wrote:
> On Wednesday, 6 December 2017 at 04:14:35 UTC, Arun
> Chandrasekaran wrote:
>>> In D, long and ulong are always 8 bytes. This lines up with
>>> most 64-bit systems under the version(Posix) umbrella, where
>>> long and unsigned long are also 8 bytes. However, they are 4
>>> bytes on 32-bit architectures. Moreover, they’re always 4
>>> bytes on Windows, even on a 64-bit architecture.
>>
>> Why is this? How are we expected to write cross platform code
>> with long/ulong? What are the alternatives?
>
> It's right there in the blog post:
>
> import core.stdc.config : c_ulong, clong;
Or was the paragraph ambiguous for you? long and ulong are always
8 bytes in D. It's the C types that vary across platforms. I've
updated the text as Joakim suggested for clarity.
More information about the Digitalmars-d-announce
mailing list