特點
小
你可以在任何機器上使用該編譯器編譯C語言,一個完整的包括C語言預處理器,C語言編譯器,C語言彙編器和C語言的連線器在內的TCC可執行程式只有100KB左右大小。
快
TCC在生成X86代碼時沒有位元組頭部開銷,編譯速度要比GCC快幾倍。
| 編譯器 | 時間 | 代碼行數/秒 | MB/秒 |
| TinyCC 0.9.22 | 2.27 | 859000 | 29.6 |
| GCC 3.2 -O0 | 20.0 | 98000 | 3.4 |
無限制
任何C語言動態庫都可以被直接引用,ISOC99的絕大多數標準也可自由使用。(C99特性變長數組VLA不支持)
安全
由於內在可選的記憶體和邊界檢查,將會減少很多潛在的安全漏洞。
命令行參數
tcc [options] [infile1infile2...] [`-run'infileargs...]
TCC 命令行選項和gcc命令行選項十分類似主要的區別在於TCC可以直接運行可執行程式並帶參數。
下面是一些簡單的例子
tcc -run a.c編譯並執行 a.c
tcc -run a.c arg1
編譯並帶參數arg1執行 a.c
tcc a.c -run b.c arg1
編譯並連線執行 `a.c' 和 `b.c',參數arg1為main函式第一個參數
tcc -o myprog a.c b.c
編譯並連線a.c 和 b.c並生成可執行程式myprog
tcc -o myprog a.o b.o
連線a.o和b.o生成可執行程式myprog
tcc -c a.c
編譯a.c並生成目標檔案a.o
tcc -c asmfile.S
編譯asmfile.S並生成目標檔案asmfile.o
tcc -c asmfile.s
License
TCC is distributed under the GNU Lesser General Public License.
