Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using a local clone.


Run the C preprocessor on a C source file.

Specification C11

DArray!ubyte preprocess(FileName csrcfile, const ref Loc loc, ref OutBuffer defines);
Preprocess C file.
FileName csrcfile C file to be preprocessed, with .c or .h extension
Loc loc The source location where preprocess is requested from
OutBuffer defines buffer to append any #define and #undef lines encountered to

Result the text of the preprocessed file

const(char)* findImportcH(const(char)*[] path);
Find importc.h by looking along the path
const(char)*[] path import path
importc.h file name, null if not found