天天看點

TCC(Tiny C Compiler)介紹

TCC是一個超小、超快的标準C語言編譯器。她可以從這裡( http://bellard.org/tcc/ )下載下傳到;注意,要下載下傳 http://download.savannah.nongnu.org/releases/tinycc/tcc-0.9.25-win32-bin.zip

和notepad2一樣,TCC也是免費的!(再一次酷斃了!!!)

下載下傳好之後,解壓到自己的某個檔案夾裡面:

TCC(Tiny C Compiler)介紹

 我們所需的編譯系統,就都在tcc這個檔案夾裡面。

TCC的使用方法是這樣的:

http://bellard.org/tcc/tcc-doc.html

 英文的?當然,早就告訴你要好好學英語了。

舉個例子說明TCC的用法:

首先我已經有了一個.c的源檔案。

TCC(Tiny C Compiler)介紹
用Notepad2寫好源代碼,儲存好:
TCC(Tiny C Compiler)介紹

接下來,使用TCC檢驗我們的程式是否設計正确。

首先我們要把TCC的目錄添加到系統的path環境變量中去。(不知道啥叫環境變量的,請自己google一下。)具體做法如下:

右鍵單擊“我的電腦”==》“屬性”==》“進階”==》“環境變量”==》(輕按兩下系統變量中的)“path”
TCC(Tiny C Compiler)介紹
TCC(Tiny C Compiler)介紹
TCC(Tiny C Compiler)介紹
 在最後添加上形如  ;d:\temp\tcc  用以指明tcc的位置。注意:之前的;是用來分隔各個位置的,千萬不能少。接着,一路“确定”,就好了。

接下來,我介紹2種使用TCC的方法。這兩種方法其實是一回事兒,但我更喜歡用第二種。

第一種:編譯連結源代碼,生成可執行檔案。

打開指令行提示符:“開始”==》“運作”(輸入cmd)==》“确定”

轉到.c源代碼所在的目錄,編譯連結源代碼:

Microsoft Windows XP [版本 5.1.2600] 

(C) 版權所有 1985-2001 Microsoft Corp.

C:\Documents and Settings\Administrator>cd d:\temp

C:\Documents and Settings\Administrator>d:

D:\temp>

編譯連結的指令是:tcc   源代碼檔案名(檔案名後面的.c千萬不可省略,tcc後面一定要有空格);示例如下

D:\temp>tcc test.c 

test.c:5: missing terminating " character

這種情況,說明在test.c檔案的第5行出現了錯誤,錯誤的原因是“缺少表示終止的"字元”。于是,我們在notepad2中修正我們的代碼,儲存,如下:

TCC(Tiny C Compiler)介紹

再次回到指令行提示符(那個黑不溜秋的界面下),編譯連結:

D:\temp>tcc test.c

什麼動靜都沒有?沒消息,就是好消息!這是電腦世界的行為準則。你看看你的檔案夾,裡面是不是多了這個:

TCC(Tiny C Compiler)介紹

OK,輕按兩下這個.exe的可執行檔案,看看運作結果吧。哦?螢幕上一閃而過?啥也沒看清,咋辦?你可以直接在剛才的指令行提示符下面輸入test.exe回車來執行這個檔案:

D:\temp>test.exe 

Haha 

你看,搞定了!

=========================

一個很重要的秘訣:在指令行提示符下面,我們往往要重複不斷地輸入許多同樣的指令。每次都去打這些指令,是件很煩人事情。其實大可不必如此的,你隻需要打一次指令,下次要重複使用這條指令的時候,你就不必再打字了,隻要按鍵盤上“向上”的箭頭方向鍵……看!剛才的指令是不是出來了?So cool!

上面就是我介紹的第一種使用TCC的方法。還有第二種用法:

有時候,我并不喜歡讓TCC生成.exe的可執行檔案,然後再去運作它。我隻需要使用

tcc -run 源代碼檔案名

就可以直接讓TCC跳過編譯連結的步驟,直接運作我們的程式了(當然,前提是你的代碼沒有文法錯誤);如下:

D:\temp>tcc -run test.c 

評價TCC的優點和缺點:

優點:

  1. 小巧玲珑。塞在U盤裡,随時用,随時有,連安裝都不用。
  2. 支援最新的C語言國際标準。能在TCC裡面跑的程式,在其他的編譯環境下都能跑的動。
  3. 快!TCC的運作速度實在是快!

缺點:

  1. 沒有斷點和單步執行的跟蹤系統,面對非常複雜的程式邏輯的時候,不好調試程式的運作時邏輯錯誤。

小結:TCC實在酷斃了。我很喜歡她!

繼續閱讀