www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - A use-case for ImportC?

reply WebFreak001 <d.forum webfreak.org> writes:
assuming you are writing a program in C - would the ImportC 
feature enable you to write headers in C (like in your existing 
codebase) and then import them for implementation in D?

This would very neatly allow using D in C projects without 
duplicating the struct types, typedef, etc. in both C and D files.
Jun 07 2021
next sibling parent Zardoz <luis.panadero gmail.com> writes:
On Tuesday, 8 June 2021 at 06:56:40 UTC, WebFreak001 wrote:
 assuming you are writing a program in C - would the ImportC 
 feature enable you to write headers in C (like in your existing 
 codebase) and then import them for implementation in D?

 This would very neatly allow using D in C projects without 
 duplicating the struct types, typedef, etc. in both C and D 
 files.
For example, allows to use directly C single-header only libs, like Nuklear : https://github.com/Immediate-Mode-UI/Nuklear
Jun 08 2021
prev sibling next sibling parent Basile B. <b2.temp gmx.com> writes:
On Tuesday, 8 June 2021 at 06:56:40 UTC, WebFreak001 wrote:
 assuming you are writing a program in C - would the ImportC 
 feature enable you to write headers in C (like in your existing 
 codebase) and then import them for implementation in D?

 This would very neatly allow using D in C projects without 
 duplicating the struct types, typedef, etc. in both C and D 
 files.
I'd expect this to work using the ast formater residing in the dmd.hdrgen module.
Jun 08 2021
prev sibling parent Imperatorn <johan_forsberg_86 hotmail.com> writes:
On Tuesday, 8 June 2021 at 06:56:40 UTC, WebFreak001 wrote:
 assuming you are writing a program in C - would the ImportC 
 feature enable you to write headers in C (like in your existing 
 codebase) and then import them for implementation in D?

 This would very neatly allow using D in C projects without 
 duplicating the struct types, typedef, etc. in both C and D 
 files.
That would be nice indeed
Jun 08 2021