アカウント名:
パスワード:
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)に設定を変更する必要があります。
最初のバージョンは常に打ち捨てられる。
Watcomの名前を初めて知ったのは、 (スコア:1)
これを機会に使ってみようかなぁ…
LinuxでもWindowsでもCコンパイラはgccを使うことが殆どで、他のコンパイラをあんまり使わなくなってしまった。
他人のソースをコンパイルするのに、./configure & make でcコンパイラを使う機会がぐっと増えて、自分でmakefileいじらなくてもソフトがコンパイルできるし
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のようにブラウザに組み込まれたり、 あと開発環境と組合わされば面白いかも。