8.134 --multifile, --no_multifile

マルチファイルのコンパイルを有効または無効にできます。

--multifile が指定されると、コンパイラは、個々のファイルではなく、コマンドラインで指定されたすべてのファイルに対して最適化を実行します。指定されたファイルは、1 つのオブジェクトファイルにコンパイルされます。
結合されたオブジェクトファイルには、コマンドラインで最初に指定したソースファイルに基づいた名前が付けられます。結合されたオブジェクトファイルに別の名前を指定するには、-o filename オプションを使用します。
標準の make システムの要件を満たすために、コマンドラインで指定した後続の各ソースファイルに対して空のオブジェクトファイルが作成されます。ただし、-o filename も指定された場合は、単一の結合されたオブジェクトファイルが作成されます。

コマンドラインでソースファイルを 1 つしか指定しない場合は、--multifile を指定してコンパイルしても機能しません。

デフォルト

デフォルトは --no_multifile です。

使用法

--multifile が指定されると、コンパイラによって、複数のソースファイルがコンパイルされ、追加で最適化が実行される場合があります。
コマンドライン上で指定できるソースファイルの数に制限はありません。ただし、ソースファイルの数とプログラムの構造によっては、コンパイラが必要とするメモリとコンパイル時が大量に増加する可能性があります。最適な結果を得るには、機能的に関連するソースファイルで構成する小さなグループを選択するようにして下さい。
目安としては、--multifile が数十万行に上るモジュールに規模が拡大する場合もあります。

armcc -c --multifile test1.c ... testn.c -o test.o
-o が使用されているため、test.o という名前の単一の結合されたオブジェクトファイルが作成されます。
関連する参考文書
8.21 -c
8.49 --default_extension=ext
8.138 -o filename
8.139 -Onum
8.205 --whole_program
10.161 定義済みマクロ
非機密扱いPDF file icon PDF 版ARM DUI0472LJ
Copyright © 2010-2015 ARM.All rights reserved.