switch文のコード出力形式を指定します。
[指定形式]
コンパイラがswitch文ごとに最適な出力形式を 自動的に選択します。
[詳細説明]
- | typeに指定可能なものを以下に示します。
これ以外のものを指定した場合は,エラーとなります。 |
ifelse
|
caseラベルを1つずつ比較する形式で出力します。case文の数が少ないときに,本項目を指定します。
|
binary
|
バイナリ・サーチ形式で出力します。
バイナリ・サーチ・アルゴリズムに用いて合致するcase文を探します。
ラベル数が多いときに本項目を選択すると,どのcase文も同じくらいの速さで見つけることができます。
|
table
|
テーブル・ジャンプ形式で出力します。
case文の値を基にインデックス化したテーブルを参照し,switch文の値によりcaseラベルを選択して処理を行います。
どのcase文にも同じくらい速く分岐します。
ただし,case値が連続していないときは無駄な領域ができます。
また,caseラベルの最大値と最小値の差が8192を超える場合は,本オプションを無視して,switch文ごとに最適な出力形式を 自動的に選択します。
|
[使用例]
- | switch文のコードに対して,バイナリ・サーチ形式で出力します。 |
>ccrh -Xswitch=binary -Xcommon=rh850 main.c
|