Tcc学习笔记 安装和配置
Posted 星云的彼岸
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tcc学习笔记 安装和配置相关的知识,希望对你有一定的参考价值。
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的例子:
1 #include <stdlib.h> 2 #include <stdio.h> 3 4 int main() 5 { 6 printf("Hello World\\n"); 7 return 0; 8 }
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学习笔记 安装和配置的主要内容,如果未能解决你的问题,请参考以下文章
[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段