importC with struct name and function conflict
Dakota
dakota at gmail.com
Tue Aug 6 05:21:11 UTC 2024
On Monday, 5 August 2024 at 11:35:56 UTC, Dennis wrote:
> On Monday, 5 August 2024 at 11:02:24 UTC, Dakota wrote:
>> This will not work for me. (huge code base I can not change
>> and maintain)
>
> You don't have to change the code where the type is defined per
> se, you just need to put it in any C file that can access the C
> symbol.
>
> clib_helpers.c:
> ```C
> #include<hugelibrary.h>
>
> typedef struct S S_t;
> ```
>
> app.d:
> ```
> import clib_helpers;
>
> S_t s;
> ```
Thanks for the explain.
I will think about this.
my solution use ctfe symbol_name to get d define, and the symbol
type name is get from ref place, (function arguments, struct
field), so to fix it I need replace the type ref from headers
files. In this case I get a wrong reflect type when I use
`__traits(getMember, module, symbol);`
More information about the Digitalmars-d-learn
mailing list