# dmd.cpreprocess

Run the C preprocessor on a C source file.

Specification: C11

#### Authors

Walter Bright

#### License

Boost License 1.0

Source: cpreprocess.d

Documentation: https://dlang.org/phobos/dmd_cpreprocess.html

Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/cpreprocess.d

- `preprocess`

  #### Declaration

  `FileName `preprocess`(FileName `csrcfile`, const ref Loc `loc`, out bool `ifile`, OutBuffer* `defines`);`

  Preprocess C file.

  #### Parameters

  `FileName `csrcfile`` | C file to be preprocessed, with .c or .h extension
  `Loc `loc`` | The source location where `preprocess` is requested from
  `bool `ifile`` | set to `true` if an output file was written
  `OutBuffer* `defines`` | buffer to append any `#define` and `#undef` lines encountered to

  Result: filename of output