You could use whatever preprocessor you like really, just add a make step that translates your template into c. I've seem some crazy person use M4 for example.
It's usually a bad idea, but very feasible
Integrated preprocessor. That was what I meant. Maybe with c-syntax awareness.