
2026/02/08 6:45
小型 C コンパイラ
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
Tiny C Compiler(TCC)は、非常に小さな(約100 KBのx86実行ファイル)Cコンパイラであり、1回のステップでコンパイル・アセンブル・リンクを行い、バイトコード層なしでネイティブx86マシンコードを生成します。2.4 GHz Pentium IV上では、Links BrowserテストをGCC(20.0 秒)より約10倍速く実行できます(2.27 秒)。これは別のコンパイルステージが不要であるためです。
TCCはISO C99を完全にサポートし、自身をコンパイルでき、任意のC動的ライブラリを直接リンクすることも可能です。完全なプリプロセッサ、GNUスタイルのアセンブラー構文、オプションのメモリと境界チェック機能、さらにはシェバンベースの「Cスクリプト」まで含まれ、コマンドラインから実行できます。libtccライブラリにより、他のプログラムがTCCをランタイムコード生成のバックエンドとして使用できるようになります。
性能テストはPentium IV上で行われました。新しい測定値(参照1–4)では、モダンハードウェアでも速度向上が継続しています。ドキュメント、メールリストサポート、およびSavannah/GitHubリポジトリは最新情報を提供します。
TCCはGNU Lesser General Public License(LGPL)の下で配布されており、商用利用も許可されています。
本文
Tiny C コンパイラ – ニュースと特徴
【注】
現在は TCC の開発を行っていません。最新情報についてはメーリングリストをご確認ください。
特徴
-
SMALL!
どこでも C コードをコンパイル・実行できます。たとえば救急ディスク上(≈ 100 KB の x86 TCC 実行ファイル – 前処理器、コンパイラ、アセンブラ、リンカがすべて含まれています)。 -
FAST!
ネイティブな x86 コードを生成します。バイトコードのオーバーヘッドはありません。GCC よりも数倍速くコンパイル・アセンブル・リンクできます。 -
UNLIMITED!
任意の C 動的ライブラリを直接使用可能です。TCC は ISO C99 に完全に準拠する方向へ進化しており、自身でコンパイルできるようになっています。 -
SAFE!
メモリと境界チェックをオプションで有効にできます。境界チェック付きコードは標準コードと自由に混在させられます。 -
Direct execution
明示的なリンクやアセンブルステップなしで C ソースをコンパイルして実行できます。完全な前処理器と GNU ライクなアセンブラが付属しています。 -
C スクリプト
C ファイルの最初の行に
を追加すれば、コマンドラインから直接実行できます。#!/usr/local/bin/tcc -run -
バックエンドサポート
libtcc を使えば、TCC を動的コード生成用のバックエンドとして利用できます。
ダウンロード
(オリジナルテキストにはダウンロードリンクはありません – 公式プロジェクトページをご覧ください。)
コンパイル速度
| プロジェクト | バージョン | コンパイラ時間 (秒) | 行数/秒 | Mバイト/秒 |
|---|---|---|---|---|
| Links Browser | 9‑time | 0.27 | 859,000 | 29.6 |
テストは 2.4 GHz Pentium 4 上で実施しました。リアルタイムにはコンパイル、アセンブル、リンク全てが含まれます。
ヘッダーを含めて 76,936 行あります。
同じヘッダーが多くのファイルに現れるため、総コンパイルコードは 1,950,947 行(67.2 Mバイト)です。
TinyCC は GCC よりも 速い ことが確認されています。
より最新のテスト結果はプロジェクトウェブサイトでご覧いただけます。
オンラインドキュメント
- TinyCC メーリングリスト
- Savannah プロジェクトページと git リポジトリ
- OTCC – 最小の自己コンパイル型擬似 C コンパイラ
- FFASN1 – 小さいが強力な ASN.1 コンパイラ
- LLVM Compiler Infrastructure
- SmartEiffel – TCC で Eiffel コードを高速にコンパイル
- GNU C Compiler (GCC)
- LCC Compiler
- Small Device C Compiler
- Cyclone – 安全な C 方言
- D 言語
- C でプログラミング
- Scriptometer – TCC を含むさまざまなスクリプト言語を評価
ライセンス
TCC は GNU Lesser General Public License の下で配布されています。
著作権
© 2001‑2018 Fabrice Bellard
https://bellard.org/ – https://bellard.org/tcc/