8.69 -E

プリプロセッサ処理のみを実行します。

デフォルトでは、プリプロセッサからの出力は標準出力ストリームに送信され、標準の UNIX または MS-DOS の指定方法を使用してファイルに転送できます。
-o オプションを使用して、前処理済み出力用のファイルを指定することもできます。デフォルトでは、コメントは出力から除外されます。プリプロセッサは、任意の拡張子(.o.s.txt など)が付いたソースファイルを処理できます。
インターリーブされたマクロ定義とプリプロセッサ出力を生成するには、-E --list_macros を使用します。

armcc -E プロセッサを使用する場合、C++ の暗黙のインクルードは発生しません。通常、コンパイルによって、すべての明示的な #include ヘッダファイルが展開されます。さらに、.cc ファイルなどの一部の C++ ファイルが暗黙的に追加されます。ただし、-E を使用すると、これらのファイルの暗黙のインクルードを回避できます。そのため、テンプレートエンティティが .cc ファイルで定義されている場合、 armcc -E はこの定義のインクルードに失敗します。

armcc -E source.c > raw.c
関連する参考文書
8.22 -C
8.120 --list_macros
8.129 --md
8.138 -o filename
8.141 --old_style_preprocessing
8.146 -P
関連情報
「Why does "armcc -E" preprocessing result in linker undefined symbol error?」
非機密扱いPDF file icon PDF 版ARM DUI0472LJ
Copyright © 2010-2015 ARM.All rights reserved.