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 = , b = , c = ;
PR(D1,a);
PR(D2,a,b);
PR(D3,a,b,c);
}