アカウント名:
パスワード:
tccは、小さいながらもISOC99への対応を目指していて、"long long"や wide charにも対応して、 preprocessとcompileとassembleとlinkをまとめて処理している為、 gcc 2.95.2 -O0との比較で8倍速いという高速化を実現しているみたい。 bisonやflexを使わずに手でゴリゴリ書かれていて、 lexser部分はにcase文を使い'\'とpreprocessのトラップに注意を払いながら TOKENにし、そのTOKENをMacroの展開などのpreprocessor処理し、TOKENを取り出し、 構文処理から直接ネーティブコードを生成という作業を、1パスで行っているようだ。
実行optionはgccを意識したものになっており、 version 0.9.16ではgnu形式のinline asmにも対応している。 ソースファイルの先頭に#!/usr/bin/tccを加えれば、 スクリプトととして実行できる機能も備えており、 memory and bound checkerの実装など、セキュリティが強化されれば、 高速性を生かして C言語をスクリプトとして気軽に使えるようになる かもしれないね。 javascriptのようにブラウザに組み込まれたり、 あと開発環境と組合わされば面白いかも。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ソースを見ろ -- ある4桁UID
Watcomの名前を初めて知ったのは、 (スコア:1)
これを機会に使ってみようかなぁ…
LinuxでもWindowsでもCコンパイラはgccを使うことが殆どで、他のコンパイラをあんまり使わなくなってしまった。
他人のソースをコンパイルするのに、./configure & make でcコンパイラを使う機会がぐっと増えて、自分でmakefileいじらなくてもソフトがコンパイルできるし…
自分で書いたソースをコンパイルするにしても、コンパイラを替えてコンパイルしようとは普通思わないし。
tcc [bellard.free.fr]とか他のコンパイラと比較するのも面白そう。
tccはgnu形式のinline asmにも対応? (スコア:3, 参考になる)
tccは、小さいながらもISOC99への対応を目指していて、"long long"や wide charにも対応して、 preprocessとcompileとassembleとlinkをまとめて処理している為、 gcc 2.95.2 -O0との比較で8倍速いという高速化を実現しているみたい。 bisonやflexを使わずに手でゴリゴリ書かれていて、 lexser部分はにcase文を使い'\'とpreprocessのトラップに注意を払いながら TOKENにし、そのTOKENをMacroの展開などのpreprocessor処理し、TOKENを取り出し、 構文処理から直接ネーティブコードを生成という作業を、1パスで行っているようだ。
実行optionはgccを意識したものになっており、 version 0.9.16ではgnu形式のinline asmにも対応している。 ソースファイルの先頭に#!/usr/bin/tccを加えれば、 スクリプトととして実行できる機能も備えており、 memory and bound checkerの実装など、セキュリティが強化されれば、 高速性を生かして C言語をスクリプトとして気軽に使えるようになる かもしれないね。 javascriptのようにブラウザに組み込まれたり、 あと開発環境と組合わされば面白いかも。
tccのBellardって (スコア:1)
当時17歳。LZEXEは衝撃でした。
多芸多才な人なんだなあ。
Re:tccのBellardって (スコア:1)
奥村晴彦氏のソースへのリンクは切れてますけど。
…というか、本当に色々やってる [bellard.free.fr]人ですね…