Tiny C Compiler
Screenshot
開発元 ファブリス・ベラール
最新版
0.9.27 / 2017年12月17日 (7年前) (2017-12-17)
リポジトリ repo.or.cz/w/tinycc.git
プログラミング
言語
C 、 Assembly[要出典]
対応OS Linux, Unix, Windows
前身 OTCC, Obfuscated Tiny C Compiler[1]
種別 C compiler
ライセンス LGPLv2.1
公式サイト www.tinycc.org
テンプレートを表示

Tiny C Compiler(タイニーシーコンパイラー、「TCC」とも)はファブリス・ベラールによって作成されたx86、x86-64、ARMアーキテクチャ用のC言語のコンパイラである。名前の通りとても小さく、ディスク容量が小さいコンピューターでも動作するように設計されている。Windowsのサポートについてはバージョン0.9.23から追加されている。ライセンスはLGPLライセンスが付与されている。

特徴

TCCには現行のコンパイラとは異なる特徴として以下のような特徴がある。

コンパイルしたプログラムの性能

TCCでのコンパイルでは、他のコンパイラのように最適化等を行うことはない。これは、性能よりもコンパイラの小ささに重点をおいているためである。TCCは独自にすべての文(ステートメント)を独自にコンパイルし、各文の最後でレジスタの値がスタックに戻されるため、次の行でレジスタ内の値が使用されている場合でも再読み取りする必要がある。

使用例

歴史

TCCは、2001年に国際難読化Cコードコンテストにて、ベラールが作成したプログラムであるObfuscated Tiny C Compiler (OTCC)が原型となっている。その後、難読化を解除し、機能を拡張したものがTCCとなった。


ベラールがプロジェクトを離れてから、様々な個人やコミュニティがTCCの修正や配布を行いTCCのフォークを維持していた。これらの中には「Dave Dodge's collection of unofficial tcc patches」[11]や、Debianとkfreebsのダウンストリームパッチ[12]、「grischka's gcc patches」などがある。また、Grischkaのブランチはいくつもの貢献があったため、のちの公式TCCブランチとなった[13]。

現在

2017年の12月では、TCCの公式メーリングリスト[14]とGitの公式リポジトリでは、活発な議論や開発が行われている。

関連項目

脚注・出典

  1. ↑ Bellard, Fabrice. Obfuscated Tiny C Compiler, winning entry of IOCCC 2001. https://bellard.org/otcc/ and at the Internet Archive at https://web.archive.org/web/20130721162702/http://www.ioccc.org/2001/
  2. ↑ “TCC : Tiny C Compiler”. bellard.org. 27 March 2023閲覧。
  3. ↑ “TCCBOOT: TinyCC Boot Loader”. bellard.org. 27 March 2023閲覧。
  4. ↑ “tinycc-devel (thread)”. lists.gnu.org. 27 March 2023閲覧。
  5. ↑ “Guix Further Reduces Bootstrap Seed to 25% — 2020 — Blog — GNU Guix”. 2023年11月13日閲覧。
  6. ↑ “Bootstrappable builds”. bootstrappable.org. 29 March 2023閲覧。
  7. ↑ “Cinpy”. 20 November 2008時点のオリジナルよりアーカイブ。27 March 2023閲覧。
  8. ↑ “JSLinux”. bellard.org. 27 March 2023閲覧。
  9. ↑ “Super Micro Chess”. SourceForge. 27 March 2023閲覧。
  10. ↑ MMGames. “学習用C言語開発環境 Ver 0.1.13 - 苦しんで覚えるC言語”. 9cguide.appspot.com. 2023年11月12日閲覧。
  11. ↑ “Unofficial tcc Patches”. www.dododge.net. 31 March 2007時点のオリジナルよりアーカイブ。27 March 2023閲覧。
  12. ↑ “Debian -- Details of package tcc in sid”. packages.debian.org. 27 March 2023閲覧。
  13. ↑ “Tiny C Compiler - Summary [Savannah]”. savannah.nongnu.org. 27 March 2023閲覧。
  14. ↑ “tinycc-devel Archives”. lists.gnu.org. 27 March 2023閲覧。

外部リンク

⌬ Phoenix Mesh CID: 未登録 IPFS未登録 📡 0ピア N=1 CRITICAL PQS B65