C プリプロセッサを使用する

C プリプロセッサコマンドを、アセンブリ言語のソースファイルに使用できます。これを行う場合には、アセンブラの起動時に --cpreproc コマンドラインオプションを指定する必要があります。そうすると、armasmarmcc を呼び出して、ファイルを前処理してからアセンブルするようになります。

armasm は、armasm バイナリと同じディレクトリで armcc バイナリを探します。バイナリを見つけられない場合、PATH 上にあるものと判断します。

特定のオプションがコマンドラインで指定されている場合、armasmarmcc にそのオプションを渡します。Table 25 に、それを示します。これらのオプションの一部は、armcc における等価のオプションに変換されてから、armcc に渡されます。Table 26 に、それを示します。

Table 25. コマンドラインオプション

--16

--arm_only

--diag_error

--diag_warning

--li

--32

--bi

--diag_remark

--fpu

--library_type

--apcs

--cpu

--diag_style

--fpumode

--thumb

--arm

--device

--diag_suppress

--i

--unaligned_access --no_unaligned_access


Table 26. armcc における等価のコマンドラインオプション

armasmarmcc

--16

--thumb

--32

--arm

--i

--I


他の単純なコンパイラオプション(プリプロセッサオプション -D など)を渡すには、--cpreproc_opts コマンドラインオプションを使用する必要があります。armasm は、前処理された #line コマンドを正確に解釈します。#line コマンドの情報を使用してエラーメッセージおよび debug_line テーブルが生成されます。

Example 22 に、ファイル source.s を前処理してアセンブルするためのコマンドを示します。この例ではまた、コンパイラオプションを渡して RELEASE という名前のマクロを定義し、ALPHA という名前のマクロの定義を解除しています。

Example 22. アセンブリ言語のソースファイルの前処理

armasm --cpreproc --cpreproc_opts=-D,RELEASE,-U,ALPHA source.s

複雑なプリプロセッサオプションを使用するには、armcc を手動で呼び出してファイルを前処理してから armasm を呼び出す必要があります。Example 23 に、ファイル source.s を手動で前処理してアセンブルするためのコマンドを示します。この例では、プリプロセッサによって preprocessed.s という名前のファイルが出力され、armasm によって preprocessed.s がアセンブルされます。

Example 23. アセンブリ言語のソースファイルの手動による前処理

armcc -E source.s > preprocessed.s
armasm preprocessed.s

Show/hide関連項目

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0473FJ
Non-ConfidentialID111311