軽量軽快なC言語のフリーコンパイラを導入しよう[tiny-c , tcc]

妹「お兄ちゃん、私C言語やってみたい」
兄「いきなりだね。じゃあVisual Studioをダウンロードしようか」
妹「……手っ取り早く言うと学校の課題で出たC言語をやるから、コンパイルエラーが無いか確認したい」
兄「じゃあオンラインコンパイラでも使えばいいんじゃないかな。WEBでビルドかけられるし」
妹「あわよくば、使えそうなプログラムを作って自分の役に立てられればいいかなって思ってる」
兄「じゃあ Visual Studio をダウンロードしようか」
妹「これ、時間かかりそう。もっと手軽なコンパイラないの?」
兄「じゃあTiny-Cコンパイラを使ってみようか。Visual Studio Community Editionの方が補正機能があって使いやすいと思うんだけどね」
妹「じゃぁそれはまた今度で……」

兄「まず、Tiny-Cをダウンロードします」
妹「はい。どこから?」
兄「Tiny-Cで検索すれば出てくると思うよ」
妹「ふむふむ」

Tiny-Cのホームページにアクセスして、Downloadをクリックする

兄「そう、そこだね。これでDownloadを選びます」
妹「これだね。32ビットと64ビットはどっちを選べばいいの?」
兄「迷ったら32ビットでいいよ」
妹「じゃぁダウンロードするね。 …… 一瞬で終わったよ?失敗した?」
兄「472kだからね。大き目な画像よりも小さいよ」
妹「こんな小さくて大丈夫なの?」

tcc-0.9.27-win32(64)-bin.zipをダウンロードしよう

兄「これを日本語が無いフォルダに解凍するよ」
妹「安定のyouwakaフォルダだね!」
兄「解凍するとこのようなフォルダ構成になっています」

妹「おお!?」
兄「ソースコードを置きます」

ソースコードを解凍したtccフォルダの中に置いて保存する

妹「ここでコマンドプロンプトの出番だね!」
兄「……tcc.exeへドラッグアンドドロップします」
妹「……え?」

001.cをドラッグしてtcc.exeへもっていく

兄「これで無事に001.exeが作られました」
妹「え?コンパイルオプションとかは?」
兄「tcc -c ソース.cでオブジェクトファイルが作られて、引数無しでlink。今回はドラッグアンドドロップしたから、[tcc ファイル名]が実行されたのと同じで、オブジェクトファイルじゃないから自動的にコンパイルがかかってリンクされてexeファイルが作られたんだよ。楽でしょ?」
妹「楽だけど……コマンドでコンパイルはこう、リンクはこう、みたいなやり取りでページを稼げなくなっちゃったね……」
兄「いや、それはそれでやる」
妹「やるんだ!?もうリンクしてるのにバッチファイルとか書くの?」
兄「……ネタに困ったらやる。いや、ライブラリ作ったりDLL作ったり64ビットへクロスコンパイルしたりとか……」
妹「じゃぁコンパイルまでの流れも -cを付けて、とかやれば良かったのに……」
兄「このブログではTiny-Cを勧めたけど一般的にはgccとかvcの方が有名だし、あっちの方が文献やサイトがあるんだよね。で、何が魅力かって言うとこの手軽さだと思う。画像よりも小さいファイルをダウンロードして解凍してソースコードをドラッグアンドドロップするだけで実行ファイルが作れるって所がポイントなんだよね」
妹「性能はgccよりも落ちるの?」
兄「コンパイル速度はgccより速いらしいよ。C++はコンパイルできないけど、この手軽さはもっと人気になってもいいと思うんだよね」
妹「確かにね……。環境変数設定ゼロで解凍してすぐ使えるのは大きいね」
兄「日本語フォルダは使わないようにして、C:\tccとかD:\tccみたいになるべく浅い階層に入れてね」
妹「……じゃあ私もD:\youwaka\の中に入れておくね」
兄「しまった……『 youwaka.net 』にしとけば宣伝になったかもしれない」
妹「お兄ちゃん、解る人だけに解ればいいや。マイナーブログでもいいって言ってたじゃない」
兄「……」