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);
}

最新文章

  1. 第10章 Shell编程(3)_字符处理命令和条件判断
  2. Arduino uno 引脚说明
  3. TableView与delegate、dataResource
  4. android TCP 客户端(仅接收数据)
  5. IO(一)----字节流
  6. Linux服务器Cache占用过多内存导致系统内存不足问题的排查解决(续)
  7. The Separator in Grid_BFS
  8. 8.3 LIS LCS LCIS(完结了==!)
  9. QML按键事件处理
  10. AS3事件机制概述
  11. 玩转python之每次处理一个字符
  12. 思迅/泰格/科脉/收银软件/商超软件数据库修复解决断电造成损坏的mdb\dat文件SQL数据库 置疑 修复 恢复
  13. pymysql 详解
  14. FJNU Fang G and his Friends(状压DP)题解
  15. Maven Dependency Scope
  16. juqery 点击谁获取他的值,赋给input标签
  17. Codeforces 946 D.Timetable-数据处理+动态规划(分组背包) 处理炸裂
  18. Flashbuilder的bug FlashBuilder 1119: 访问可能未定义的属性 on (通过 static 类型
  19. js同步 异步 运行机制
  20. Java虚拟机_运行时数据区

热门文章

  1. I do not want to inherit the child opacity from the parent in CSS(不想让子元素继承父元素的透明度)
  2. linux下的find文件查找命令与grep文件内容查找命令
  3. linux 下 ntfs移动硬盘挂载
  4. R中,去掉dataframe中的NA行
  5. OAF_JDBC系列1 - 数据库交互取值方式(案例)
  6. java Util
  7. 114、Android禁止ViewPager的左右滑动
  8. Highcharts——大气好用的图标制作工具
  9. 翻译: TypeScript 1.8 Beta 发布
  10. 自动化测试selenium+java 第三章