Tiny C Compilerとは、GCCですか?

Tiny C Compilerとは

早速質問を頂いたのでご紹介しますが、Tint C Compiler(以後TCC)とは、Gnu C Compiler互換のC言語コンパイラで、GCCよりも高速にコンパイルできるように創られた比較的新しい処理系です。GCCで出来ることはほぼTCCでも出来ます。つまりかなりの互換性があるのです。しかも3大OSに共通のバージョンで同じ環境を提供するので、Go言語同様に、近年注目を浴びています。

概要

TCCは、フランス人のファブリス・ベラードによって開発されました。2001年に生まれて2017年現在で、まだバージョン0.9.27ですので、発展途上のC言語コンパイラです。前述したように、高速でパッケージ容量も小さいので、モバイル機器のような環境でも動作します。

そう、X86系のコンピュータだけではなく、ARM系のCPUのアセンブルも可能なので、組み込み系の環境の開発環境としても期待されているのです。

また、基本ライブラリのみで、まだフレームワークなどは殆ど無いので、今このC言語に取り組んでいるとほぼ0からの開発になり、多くのエンジニアに受け入れられているのです。とくに、開発の現場などでは、一般化しているフレームワークなどはほとんど利用せず、保守問題から、0からすべて開発することが多いので、まさにもってこいの環境なのです。

と入っても、ソケットなどの通信ライブラリなどは、定評があるので、GCCで公開されている既存のオープンソースなどが利用されることも多いらしいです。

意外にもWibndowsの対応も良い

Windowsユーザーは世界中に多いので、C言語といえば、Visual-Cやボーランド系のC++などが思い出されますよね。そのなかでもコンソールIO 系の入力関数などはLinuxやMacのUnix系とは互換性がありません。

しかしながらTCCの場合は、Windows環境下では、コンソールIO 系の関数、具体的には、getch()やkbhit()などが用意されています。(但しDOS環境下でのみ使用でき、Windowsでは動作しません)

この辺は心憎い対応といえましょう。

どこからインストールすればいいの

TCCは、公式のサイトからは、Windwos版のバイナリーパッケージとソースパッケージがダウンロードできるようになっています。

MacOSでは、パッケージマネージャーのHomeBrewを使ってインストールできます。ターミナルを開いて

 

brew install tcc と入力するだけで最新版をインストールできます。※1

Mac版は最新の0.2.97 にはバグが出ていてコンパイルできないので、Macではこの問題が改善されるまではGCCで置き換えたほうが良さそうです。

Linuxでは、どのディストリビューションでも標準でインストールされているのですが、もしインストールされていないバージョンであれば、そのLinuxに特有のパッケージマネージャーを使ってインストール出来るようになっているはずです。Red Hat系ならyumかrpm コマンド等でできますし、Debian系ならば apt かapt-getコマンドが使えるはずですね。