tcc的短小精悍,編譯速度快,以及獨特的直接運行c代碼功能,讓tcc成為一個出色的編譯器,橫跨linux,windows平台。
筆者目前尚處於學習c(ANSI c/ISO c)階段,為了加強手寫代碼的能力,於是就有了這篇編譯器使用技巧。
在此累贅一句:
手寫並編譯鏈接代碼,對於大多數人來說這是不可以想象的,筆者使用vc,萬不得已的情況下才用vs,這對很多人來說也難以想象,
這么做是為了能期望能夠編譯出短小精悍或者操作系統無依賴的c代碼,不依賴高版本的c運行時,例如vcruntime7,8,9或者更高版本。
也是期望自己能在惡劣環境下編寫出一些代碼。
把以下批處理保存成tcc.bat保存在tcc安裝目錄的根目錄,例如筆者安裝在d:\develop\tcc目錄,以下代碼就保存到d:\develop\tcc,最終文件絕對路徑
d:\develop\tcc\tcc.bat
@echo off echo ----------------------編譯信息開始---------------------- tcc.exe %1 -vv -bench echo ----------------------預處理開始------------------------ tcc.exe %1 -E echo ----------------------預處理結束------------------------ echo ----------------------編譯信息結束---------------------- echo 編譯后生成程序所在目錄%~dp1 echo 程序運行結果如下: echo -------------------------------------------------------- %~n1 echo --------------------------------------------------------
然后把它添加到系統環境變量PATH中
方法:右鍵"我的電腦"-->"屬性",系統變量,找到PATH變量,點擊"編輯",按下HOME鍵,導航到行首,輸入D:\develop\tcc;
以下是測試代碼以及使用效果圖
//print.h #define PR printf #define NL "\n" #define D "%d" #define D1 D NL #define D2 D D NL #define D3 D D NL
//file1.c #include "print.h" main() { int a = 1, b = 2, c = 3; PR(D1,a); PR(D2,a,b); PR(D3,a,b,c); }