热门问题
时间线
聊天
视角
Tiny C Compiler
来自维基百科,自由的百科全书
Remove ads
Tiny C Compiler(縮寫為TCC、tCc或TinyCC)是一個用於x86或x86-64系統的C編譯器,開發者為Fabrice Bellard。軟體是設計用於低階電腦環境,或是於磁碟容量有限的空間中(1.44磁片或是硬碟)。軟體可以適用於Windows、Linux、Unix作業系統,而最新版本為0.9.27(2017年12月17日)。TCC是在GNU寬通用公共許可證(LGPL)協定規範下發布。
TCC符合ANSI C(C89/C90)規範[1],亦符合新版的ISO C99標準規範和GNU C擴展的內嵌組合語言(即inline assembler)功能匯編語言。
Remove ads
實現狀態
特色功能
TCC與其他C語言編譯器的不同處在於:
用途
著名的 TCC 應用包括:
- TCCBOOT[3],一個可以在大約 10 秒內從源碼啟動 Linux內核的啟動程式。該啟動程式可以從硬盤中讀取 Linux 源代碼,將可執行指令寫入內存並執行。
- TCC 曾被用於演示對軟體後門的防禦。 [4]
- TCC 曾被用於編譯 GCC,雖然需要不少補丁才能完成這個操作。
- Cinpy[5],一個允許在Python模塊中添加C函數的庫。這些 C 函數在運行時使用 TCC 編譯,然後通過 ctypes 庫在 Python 代碼中調用。
- 被安裝在 JSLinux[6] ,一個能在瀏覽器中運行 Linux 和其它操作系統的虛擬機(也是由 Bellard 開發的)。
- 被用於編譯超微型國際象棋引擎。[7]
- TCC 曾被內建於 Google Android 系統,於 Android 2.0 版本中。[8]
開發歷史
TCC 項目起源於 OTCC (Obfuscated TCC,即代碼混淆過的 TCC),這是 Bellard 為贏得 2001 年國際C語言混亂代碼大賽(IOCCC)編寫的一個程序。其後,Bellard 反混淆並延伸發展了該程序,於是有了 TCC。[9]
在 2012 年 2 月 4 日之前的某個時間, Bellard 在 TCC 的官方網站上宣布他不再參與 TCC 的維護工作。[10]
自從 Bellard 離開 TCC 項目以來,已經有不少組織和個人分發補丁或創建維護分支,為 TCC 提供構建支持以及問題修復。
參考文獻
外部連結
參見
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads