Thread overview | |||||
---|---|---|---|---|---|
|
September 11, 2017 extern(C) and slices | ||||
---|---|---|---|---|
| ||||
If I have a function like `extern(C) void f(void *x, size_t x_sz)` can I instead declare it as `extern(C) void f(void[] x)` ? |
September 12, 2017 Re: extern(C) and slices | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nordlöw | On 2017-09-12 01:03, Nordlöw wrote: > If I have a function like > > `extern(C) void f(void *x, size_t x_sz)` > > can I instead declare it as > > `extern(C) void f(void[] x)` > > ? It looks like the length needs to come first [1]. I think it would be technically possible if you flipped the parameters but you would become dependent on the ABI as well. I would recommend a wrapper instead. [1] https://dlang.org/spec/abi.html#arrays -- /Jacob Carlborg |
September 12, 2017 Re: extern(C) and slices | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jacob Carlborg | On Tuesday, 12 September 2017 at 06:23:57 UTC, Jacob Carlborg wrote:
> It looks like the length needs to come first [1]. I think it would be technically possible if you flipped the parameters but you would become dependent on the ABI as well. I would recommend a wrapper instead.
>
> [1] https://dlang.org/spec/abi.html#arrays
Thanks.
|
Copyright © 1999-2021 by the D Language Foundation