On Tuesday, 30 March 2021 at 04:01:12 UTC, Brad wrote:
I would like to use an updated version of the Termbox library
(written in C) with D. I have the .h file. This is new
territory for me (why try something easy - right?). I think I
need to create a .di file that corresponds to the .h file. I
also suspect that I need to put the library file (C code) into
the project as a file somehow. I am probably just not looking
in the right place for the documentation, but I cannot seem to
find a lot of guidance in this area.
Thanks in advance.
No just convert C signatures to corresponding D signatures in
regular .d file.
Then you need to build original C library, and then when building
D program you link(pass produced .lib/.a files to
compiler/linker) this stuff with C library.
After all your binaries is just language agnostic bytes, however
there is calling conventions that exist for interop, your .h
contains definitions (aka contract) of what it does, and produced
binaries (.exe, .a, .lib, .dll, .so) contains actual machine
code, so on D side you must match that contract and then tell the
linker to embed the machine code from .a/.lib in your final
executable/DLL.