Input and Output files (The GNU D Compiler)

### 1.1 Input and Output files ¶

For any given input file, the file name suffix determines what kind of compilation is done. The following kinds of input file names are supported:

`file.d`

  D source files.

`file.dd`

  Ddoc source files.

`file.di`

  D interface files.

You can specify more than one input file on the `gdc` command line, each being compiled separately in the compilation process. If you specify a `-o file` option, all the input files are compiled together, producing a single output file, named file. This is allowed even when using `-S` or `-c`.

A D interface file contains only what an import of the module needs, rather than the whole implementation of that module. They can be created by `gdc` from a D source file by using the `-H` option. When the compiler resolves an import declaration, it searches for matching `.di` files first, then for `.d`.

A Ddoc source file contains code in the D macro processor language. It is primarily designed for use in producing user documentation from embedded comments, with a slight affinity towards HTML generation. If a `.d` source file starts with the string `Ddoc` then it is treated as general purpose documentation, not as a D source file.