Using C macros without massive rewrites

Charles McAnany dlang at charlesmcanany.com
Mon Jun 11 19:20:16 PDT 2012


Hi, all. I'm studying Kerrisk's The Linux Programming Interface 
for fun. The book is written in C, and I thought it would be fun 
to do the exercises in D. My problem is that I'm doing things like
#include <sys/types.h>
in my C code and that loads oodles of macros like ssize_t, 
O_RDONLY, EXIT_SUCCESS, etc.

I don't mind writing .di files for the occasional function I use, 
but tracking down every last typedef and #define is going to be a 
hassle.
The functions aren't bad because you can just make a C file that 
#includes all the libraries you want, cc it to lib.o then write a 
.di that uses the functions you want from that mammoth.
Extracting the #defines and typedefs from stdlib.h (and 
everything it includes) sounds, uh, daunting. (this suspicion is 
corroborated by Deimos, which has no commits to  the libc 
repository)

I was thinking it wouldn't be too bad if I could write a .c file 
that somehow conveniently boxes up the relevant information for a 
.di file to extract it, but I'm at a loss for where to go with 
this.

Alternatively, I could maybe run the .di file through gcc for 
preprocessing only and hope that I don't confuse its lexer.

Has anyone here had any experience with these things?


More information about the Digitalmars-d-learn mailing list