Thread overview | |||||||||
---|---|---|---|---|---|---|---|---|---|
|
April 06, 2019 What's the correct way to interface with a intptr_t? | ||||
---|---|---|---|---|
| ||||
I have a C interface that uses a parameter of type intptr_t. Wondering if size_t is the correct D equivalent?
--
Robert M. Münch
http://www.saphirion.com
smarter | better | faster
|
April 06, 2019 Re: What's the correct way to interface with a intptr_t? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Robert M. Münch | On Saturday, 6 April 2019 at 19:31:15 UTC, Robert M. Münch wrote: > I have a C interface that uses a parameter of type intptr_t. Wondering if size_t is the correct D equivalent? I suppose, ptrdiff_t is. https://dlang.org/spec/type.html#ptrdiff_t https://dlang.org/spec/portability.html#32_to_64bit |
April 06, 2019 Re: What's the correct way to interface with a intptr_t? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Robert M. Münch | On Saturday, 6 April 2019 at 19:31:15 UTC, Robert M. Münch wrote:
> I have a C interface that uses a parameter of type intptr_t. Wondering if size_t is the correct D equivalent?
The correct equivalent is `intptr_t` from `core.stdc.stdint`.
|
April 07, 2019 Re: What's the correct way to interface with a intptr_t? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Paul Backus | On 2019-04-06 20:16:06 +0000, Paul Backus said: > On Saturday, 6 April 2019 at 19:31:15 UTC, Robert M. Münch wrote: >> I have a C interface that uses a parameter of type intptr_t. Wondering if size_t is the correct D equivalent? > > The correct equivalent is `intptr_t` from `core.stdc.stdint`. Ha, thanks... RTFM. Will do in the future. -- Robert M. Münch http://www.saphirion.com smarter | better | faster |
April 07, 2019 Re: What's the correct way to interface with a intptr_t? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Paul Backus | On Saturday, 6 April 2019 at 20:16:06 UTC, Paul Backus wrote:
> On Saturday, 6 April 2019 at 19:31:15 UTC, Robert M. Münch wrote:
>> I have a C interface that uses a parameter of type intptr_t. Wondering if size_t is the correct D equivalent?
>
> The correct equivalent is `intptr_t` from `core.stdc.stdint`.
Which is just an alias for ptrdiff_t.
|
April 07, 2019 Re: What's the correct way to interface with a intptr_t? | ||||
---|---|---|---|---|
| ||||
Posted in reply to bauss | On Sunday, 7 April 2019 at 12:19:10 UTC, bauss wrote:
> On Saturday, 6 April 2019 at 20:16:06 UTC, Paul Backus wrote:
>> On Saturday, 6 April 2019 at 19:31:15 UTC, Robert M. Münch wrote:
>>> I have a C interface that uses a parameter of type intptr_t. Wondering if size_t is the correct D equivalent?
>>
>> The correct equivalent is `intptr_t` from `core.stdc.stdint`.
>
> Which is just an alias for ptrdiff_t.
Unless this is guaranteed to be the case on every platform druntime is ever ported to, it is technically better to use the `intptr_t` alias.
|
April 07, 2019 Re: What's the correct way to interface with a intptr_t? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Paul Backus | On Sunday, 7 April 2019 at 13:45:15 UTC, Paul Backus wrote:
> On Sunday, 7 April 2019 at 12:19:10 UTC, bauss wrote:
>> On Saturday, 6 April 2019 at 20:16:06 UTC, Paul Backus wrote:
>>> On Saturday, 6 April 2019 at 19:31:15 UTC, Robert M. Münch wrote:
>>>> I have a C interface that uses a parameter of type intptr_t. Wondering if size_t is the correct D equivalent?
>>>
>>> The correct equivalent is `intptr_t` from `core.stdc.stdint`.
>>
>> Which is just an alias for ptrdiff_t.
>
> Unless this is guaranteed to be the case on every platform druntime is ever ported to, it is technically better to use the `intptr_t` alias.
It should be guaranteed since it's just supposed to be a signed integer of either 32 bit or 64 bit depending on the architecture you're on.
D isn't supported below 32 bit systems so it's irrelevant there and thus it can be a guarantee.
|
Copyright © 1999-2021 by the D Language Foundation