---
name: "sdcpp"
section: "1"
platform: "linux"
package: "sdcc"
version: "4.5.0+dfsg-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/sdcpp"
---

# sdcpp(1)

C preprocessor for SDCC

## NAME

sdcpp - C preprocessor for SDCC

## SYNOPSIS

**sdcppold** *\[options\] filename*

## DESCRIPTION

This manual page documents briefly the **sdccp** command. This manual page was written for the Debian GNU/Linux distribution because the original program does not have a manual page. Instead, you can read the documentation in /usr/share/doc/sdcc-doc.

**SDCC** is a Freeware, retargettable, optimizing ANSI-C compiler designed for 8 bit Microprocessors.

## OPTIONS

- **-include** *\<file\>*

  Include the contents of *\<file\>*  before other files.

- **-imacros** *\<file\>*

  Accept definition of macros in  *\<file\>* .

- **-iprefix** *\<path\>*

  Specify  *\<path\>*  as a prefix for next two options.

- **-iwithprefix** *\<dir\>*

  Add  *\<dir\>*  to the end of the system include path.

- **-iwithprefixbefore** *\<dir\>*

  Add  *\<dir\>*  to the end of the main include path.

- **-isystem** *\<dir\>*

  Add  *\<dir\>*  to the start of the system include path.

- **-idirafter** *\<dir\>*

  Add  *\<dir\>*  to the end of the system include path.

- **-I** *\<dir\>*

  Add  *\<dir\>*  to the end of the main include path.

- **-I-**

  Fine-grained include path control; see info docs.

- **-nostdinc**

  Do not search system include directories (dirs specified with  **-isystem**  will still be used).

- **-nostdinc++**

  Do not search system include directories for C++.

- **-o** *\<file\>*

  Put output into  *\<file\>* .

- **-pedantic**

  Issue all warnings demanded by strict ISO C.

- **-pedantic-errors**

  Issue  *-pedantic*  warnings as errors instead.

- **-trigraphs**

  Support ISO C trigraphs.

- **-lang-c**

  Assume that the input sources are in C.

- **-lang-c89**

  Assume that the input sources are in C89.

- **-lang-c++**

  Assume that the input sources are in C++.

- **-lang-objc**

  Assume that the input sources are in ObjectiveC.

- **-lang-objc++**

  Assume that the input sources are in ObjectiveC++.

- **-lang-asm**

  Assume that the input sources are in assembler.

- **-std=***\<std name\>*

  Specify the conformance standard; one of:  gnu89, gnu99, c89, c99, iso9899:1990, iso9899:199409, iso9899:1999

- **-+**

  Allow parsing of C++ style features.

- **-w**

  Inhibit warning messages.

- **-Wtrigraphs**

  Warn if trigraphs are encountered.

- **-Wno-trigraphs**

  Do not warn about trigraphs.

- **-Wcomment{s}**

  Warn if one comment starts inside another.

- **-Wno-comment{s}**

  Do not warn about comments.

- **-Wtraditional**

  Warn about features not present in traditional C;

- **-Wno-traditional**

  Do not warn about traditional C;

- **-Wundef**

  Warn if an undefined macro is used by #if.

- **-Wno-undef**

  Do not warn about testing undefined macros.

- **-Wimport**

  Warn about the use of the #import directive.

- **-Wno-import**

  Do not warn about the use of #import.

- **-Werror**

  Treat all warnings as errors.

- **-Wno-error**

  Do not treat warnings as errors.

- **-Wsystem-headers**

  Do not suppress warnings from system headers.

- **-Wno-system-headers**

  Suppress warnings from system headers.

- **-Wall**

  Enable all preprocessor warnings.

- **-M**

  Generate make dependencies.

- **-MM**

  As  **-M**  , but ignore system header files.

- **-MF** *\<file\>*

  Write dependency output to the given file.

- **-MG**

  Treat missing header file as generated files.

- **-MP**

  Generate phony targets for all headers.

- **-MQ** *\<target\>*

  Add a MAKE-quoted target.

- **-MT** *\<target\>*

  Add an unquoted target.

- **-D***\<macro\>*

  Define a  *\<macro\>*  with string '1' as its value.

- **-D***\<macro\>=\<val\>*

  Define a  *\<macro\>*  with  *\<val\>*  as its value.

- **-A***\<question\> (\<answer\>)*

  Assert the  *\<answer\>*  to  *\<question\>* .

- **-A-***\<question\> (\<answer\>)*

  Disable *\<answer\>*  to  *\<question\>* .

- **-U***\<macro\>*

  Undefine  *\<macro\>* .

- **-H**

  Print the name of header files as they are used.

- **-C**

  Do not discard comments.

- **-dM**

  Display a list of macro definitions active at end.

- **-dD**

  Preserve macro definitions in output.

- **-dN**

  As  **-dD**  except that only the names are preserved.

- **-dI**

  Include #include directives in the output.

- **-fpreprocessed**

  Treat the input file as already preprocessed.

- **-ftabstop=***\<number\>*

  Distance between tab stops for column reporting.

- **-P**

  Do not generate #line directives.

- **-$**

  Do not allow '$' in identifiers.

- **-remap**

  Remap file names when including files.

- **-v or --version**

  Display the version number.

- **-h or --help**

  Show summary of options.

## AUTHOR

This manual page was written by Aurelien Jarno \<aurel32@debian.org\>, for the Debian GNU/Linux system (but may be used by others).
