tcc的短小精悍,编译速度快,以及独特的直接运行c代码功能,让tcc成为一个出色的编译器,横跨linux,windows平台。
笔者目前尚处于学习c(ANSI c/ISO c)阶段,为了加强手写代码的能力,于是就有了这篇编译器使用技巧。
在此累赘一句:
手写并编译链接代码,对于大多数人来说这是不可以想象的,笔者使用vc,万不得已的情况下才用vs,这对很多人来说也难以想象,
这么做是为了能期望能够编译出短小精悍或者操作系统无依赖的c代码,不依赖高版本的c运行时,例如vcruntime7,8,9或者更高版本。
也是期望自己能在恶劣环境下编写出一些代码。
把以下批处理保存成tcc.bat保存在tcc安装目录的根目录,例如笔者安装在d:develop cc目录,以下代码就保存到d:develop cc,最终文件绝对路径
d:develop cc cc.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 cc;
以下是测试代码以及使用效果图
//print.h #define PR printf #define NL " " #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); }