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