8.156 --preprocess_assembly

アセンブリ言語ソースコードをプリプロセスする際により高度な柔軟性を提供するために、プリプロセスされたコンパイラ出力を生成する際の特定の規則を緩和します。

使用法

このオプションは、アセンブリ言語ソースファイルからプリプロセスされた出力を生成する際の特定のプリプロセッサ規則を緩和するときに使用します。通常ではコンパイラエラーが生成される以下の事例が、特に許容されています。
  • '#' 文字で始まり後にスペースと数字が続く行は、通常であれば GNU 非標準行マーカーが示されますが、無視されてそのままプリプロセスされた出力にコピーされます。
  • 認識されないプリプロセッシングディレクティブは、無視されてそのままプリプロセスされた出力にコピーされます。
  • トークン貼り付け '#' 演算子が関数のようなマクロで使用される場合、マクロパラメータではない名前で使用されると、その名前は、前の '#' 文字と一緒にそのままプリプロセスされた出力にコピーされます。
    例えば、ソ―スファイルに以下の内容が含まれていたとします。
    # define mymacro(arg) foo #bar arg
    mymacro(x)
    
    --preprocess_assembly オプションを使用すると、プリプロセスされた出力には以下の内容が含まれます。
    foo #bar x
    

制限

このオプションは、-E、-P、または -C コマンドラインオプションを使用する場合など、コンパイルを継続せずにプリプロセスされた出力を生成する場合にのみ有効です。その他の事例では無視されます。
関連する参考文書
8.146 -P
8.22 -C
8.69 -E
非機密扱いPDF file icon PDF 版ARM DUI0472LJ
Copyright © 2010-2015 ARM.All rights reserved.