1.下载和编译

repo.or.cz/tinycc.git下载最新的snapshot压缩包,

或者用git命令下载: git clone git://repo.or.cz/tinycc.git 。

Linux下在路径下输入: ./configure && make && make install 。

Windows下先进入win32目录,使用vs2015或使用build-tcc.bat结合GCC[推荐环境为MSYS2]。

编译完成后的得到tcc的可执行文件。Windows下为tcc.exe以及辅助工具tiny_impdef.exe和tiny_libmaker.exe。

注:对于Windows,如果需要排除多余的.dll依赖,先要修改build-tcc.bat ,然后用tcc再编译一遍自己。

  最简单方法: tcc -DONE_SOURCE -DTCC_TARGET_PE tcc.c 。

  对于VS2017写了一个run.bat,可以改成其他版本:

git.exe clone http://repo.or.cz/tinycc.git
@call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\Tools\VsDevCmd.bat"
@mkdir tcc
@cd tinycc\win32
@call build-tcc.bat -c cl -t 32 -i ..\..\tcc
@cd ..
@pause
@cls
..\tcc\tcc.exe -DONE_SOURCE -DTCC_TARGET_PE -run tcc.c

  你甚至可以进行编译器的自举: ..\tcc\tcc.exe -DONE_SOURCE -DTCC_TARGET_PE -run tcc.c -DONE_SOURCE -DTCC_TARGET_PE -run tcc.c

2.TCC配置

tcc最吸引人的特点是把C语言当脚本运行,即 tcc -run filename.c 。

HelloWorld.c的例子:

 #include <stdlib.h>
#include <stdio.h> int main()
{
printf("Hello World\n");
return ;
}

2.1命令行测试:

$ tcc -run HelloWorld.c
Hello World

2.2Notepad++配置

先将tcc.exe所在路径加入环境变量PATH。然后打开Notepad++,运行[F5],输入:

cmd /c cd /d $(CURRENT_DIRECTORY) & tcc -run $(FILE_NAME) & pause

保存为TccRun命令,同时可以设置快捷键,如图所示:

选择运行->TccRun,执行HelloWorld.c。

Hello World
请按任意键继续. . .

2.3 其他编辑器配置

Sublime Text配置:Tools->New Build System。

SciTE配置:修改cpp.properties中的go命令为:

command.go.*.c=tcc -run ./$(FileNameExt)

Vim配置:修改~/.vimrc,加入语句。

"--------------------------------------"
func CodeRun()
exec "w"
if &filetype=="c"
exec "!clear&&tcc -run %"
elseif &filetype=="cpp"
exec "!clear&&g++ -o %< && ./%<"
elseif &filetype=="java"
exec "!clear&&javac % && java %<"
elseif &filetype=="python"
exec "!clear&&python %"
endif
endfunc
"--------------------------------------"
map <F5> <ESC> :call CodeRun()<CR>
imap <F5> <ESC> :call CodeRun()<CR>
vmap <F5> <ESC> :call CodeRun()<CR>

Visual Studio配置:新建Visual Studio空白解决方案进行配置。

Tcc学习笔记(二) 安装和配置的更多相关文章

  1. docker学习笔记1 -- 安装和配置

    技术资料 docker中文官网:http://www.docker.org.cn/ 中文入门课程:http://www.docker.org.cn/book/docker.html docker学习笔 ...

  2. Vue学习笔记-VSCode安装与配置

    一  使用环境: windows 7 64位操作系统 二  VSCode安装与配置  1.下载: https://code.visualstudio.com 直接点击即可. 2. 点击按装程序,默认安 ...

  3. MongoDB学习笔记——数据库安装及配置

    MongoDB数据库安装 MongoDB官方下载地址:https://www.mongodb.com/download-center 首先需要根据Windows版本选择正确的MongoDB版本进行安装 ...

  4. .NET之RabbitMQ学习笔记(二)-安装

    安装 1.安装erlang语言环境 因为rabbitmq是基于erlang进行开发,所以需要安装相应的依赖环境,学习中用到的erlang包下载地址:http://www.erlang.org/down ...

  5. PostgreSQL学习笔记(二)-安装pgAdmin

    继上篇安装PostgreSQL后,我们需要安装一个PostgreSQL的图形化管理工具. pgadmin管理工具 创建Python的虚拟环境 cd /root/venv python -m venv ...

  6. Spring4学习笔记二:Bean配置与注入相关

    一:Bean的配置形式 基于XML配置:在src目录下创建 applicationContext.xml  文件,在其中进行配置. 基于注解配置:在创建bean类时,通过注解来注入内容.(这个不好,因 ...

  7. cakephp2.7的学习笔记1 —— 安装与配置

    CakePHP2.7的安装 下载 https://github.com/cakephp/cakephp/releases 解压后扔进你的www目录就可以直接访问 按照提示,修改这两项配置,替换成你喜欢 ...

  8. rabbitmq学习笔记1 安装和配置

    环境 OS: CentOS Linux release 7.1.1503 (Core) kernel:3.10.0-229.el7.x86_64   安装 参考:http://www.rabbitmq ...

  9. kvm虚拟化学习笔记(二)之linux kvm虚拟机安装

    KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51 ...

  10. python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法

    python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法window安装redis,下载Redis的压缩包https://git ...

随机推荐

  1. [SQL]查询表里的字段名

    Select Name from syscolumns Where ID=OBJECT_ID('表名') select * from information_schema.tables WHERE T ...

  2. 关于Jquery中的$.each获取各种返回类型数据的使用方法

    var arr = [ "one", "two", "three", "four"]; $.each(arr, func ...

  3. 修改BIND9实现TCP DNS

    近日适逢某平方节日,Google国外网站陆续出现被墙的状况,想必大家都是知道的. 其实本人一直在使用SSH的Socket代理功能爬梯子,效果还是不错的,加上学校有原生IPv6支持,就算不走代理一般也能 ...

  4. IOS :编译时出现的错误 ,希望可以有所帮助

    1."std::ios_base::Init::~Init()", referenced from 答1: 如果出现这样的编译问题,是需要再加进libstdc++.dylib和li ...

  5. pod install后无反应

    参考这篇文章 http://akinliu.github.io/2014/05/03/cocoapods-specs-/

  6. 好的sql

    select count(2) from vw_pmcthtdj A WHERE a.HTBL_ID not in (select jg.jgjs_htid from PMCTJGJS jg wher ...

  7. SQL计算时间差,要精确到小时分钟秒

    declare @starttime as datetime declare @endtime as datetime set @starttime = '2009-11-24 15:10:00' s ...

  8. leetcode 217

    217. Contains Duplicate Given an array of integers, find if the array contains any duplicates. Your ...

  9. 使用英文版eclipse保存代码,出现some characters cannot be mapped using "Cp1251" character encoding.

    some characters cannot be mapped using "Cp1251" character encoding. 解决办法:方案一: eclipse-> ...

  10. 设置MYECLIPSE的自动补全

    http://jingyan.baidu.com/article/d169e1869caf1e436611d8db.html