Loading article…
| 開発者 | フォルカー・バルテルマン |
|---|---|
| 初回リリース | 1995年 |
| 安定版リリース | 0.9h パッチ 3 / 2022年5月22日 |
| 書かれた | ANSI C |
| オペレーティング·システム | マルチプラットフォーム |
| タイプ | クロスコンパイラ |
| ライセンス | 非商用利用のフリーウェア |
| Webサイト | 翻訳元: |

vbcc は、移植可能で再ターゲット可能なANSI Cコンパイラです。C89 (ISO/IEC 9899:1989) とC99 (ISO/ IEC 9899:1999) の一部をサポートしています。
これは 2 つの部分に分かれています。1 つはターゲットに依存しない部分で、もう 1 つはターゲットに依存します。vbcc は、ホスト演算とターゲット演算の完全な抽象化を提供します。8ビット、16 ビット、32 ビット、および64 ビットのアーキテクチャのクロスコンパイルを完全にサポートします。
組み込みシステムは、さまざまなポインタ サイズ、ROM 対応コード、インライン アセンブリ、ビット タイプ、割り込みハンドラー、セクション属性、スタック使用量の計算 (バックエンドによって異なります) などの機能によってサポートされています。
vbcc は、成熟度の異なる以下のバックエンドをサポートしています: 68k、ColdFire、PowerPC、6502、VideoCore、80x86 (386 以上)、Alpha、C16x/ST10、6809 / 6309 / 68HC12、Z-machine。
コンパイラ自体は、 Windows、Mac OS X、Unix / Linuxを含むすべての一般的なオペレーティング システムで実行できます。
最適化
コンパイラは、より高速でより小さなコードを生成するために、高レベルの最適化とターゲット固有の最適化の大規模なセットを提供します。また、関数とモジュール全体にわたって最適化することもできます。vbcc でサポートされているターゲットに依存しない最適化には、次のものがあります。
- クロスモジュール関数のインライン化
- 再帰関数の部分的なインライン化
- 手続き間データフロー分析
- 手続き間レジスタ割り当て
- グローバル変数のレジスタ割り当て
- グローバル共通部分式の削除
- グローバル定数伝播
- グローバルコピー伝播
- デッドコードの除去
- エイリアス分析
- ループ展開
- 誘導変数除去
- ループ不変コードの動き
- ループ反転
参考文献
- KVN スニタ (2013)。コンパイラの設計。ピアソン・インディア。 p. 20.ISBN 9-332-50029-0。
- エイコック、ジョン (2016)。レトロゲーム考古学: 古いコンピュータゲームの探究。ジョン・エイコック。p. 82。ISBN 9-783-31930002-3。
外部リンク
- Volker Barthelmann博士のコンパイラページ
- vbcc - ISO/ANSI-C コンパイラ
- macOS
- アタリクロス開発
- Amiga クロス開発
- Windows クロス開発
- リナックス
- Amiga クロス開発
