tcc

tcc(free.fr)はちょー使える。信じられん。まるでCインタプリタ。

このtccはコンパイラだが、コンパイル速度に最適化されており、暴力的なコンパイル速度を生かして、普通に

 zsh# tcc test.c

とすると、実行までしてしまう。実行したときは実行ファイルは残らない。つまりインタプリタに見えちゃうのだ!!

制限はあるものの、だいたいのプログラムが動くので、使いでがある。見つけた制限事項は次の通り。

  • システムコール直叩きが使えないことがある(stat等)。
  • 複雑な(単に雑な?)構造体やtypedefが理解できないみたい(vipl.hでエラーになる)。
  • コマンドライン引数の順番がきつい。たぶん、プログラムを実行するときに渡す引数と思われてしまうので。

あとはだいたい動いて、普通にライブラリの関数も呼べるし、ISO C99に完全準拠。それに少しのgcc拡張にも対応している。

これは非常に便利なツールとして使われていくだろう。

(追記)

実行するときはファイルを生成しない。一時ファイルを実行してるのかと思ったら、そうではないみたい。なるほど。

コメントはありません

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です