c/c++语言开发共享notepad++结合tcc构建c语言开发环境的图文方法

前言原来大学刚学c语言时用的都是vc6.0编译器,现在的老师之前推荐了tcc编译器,并且推荐将tcc配置到notepad++,就可以很方便地很c语言了。然后去查了下tcc编译器的介绍和它的作者。tcc


前言

原来大学刚学c语言时用的都是vc6.0编译器,现在的老师之前推荐了tcc编译器,并且推荐将tcc配置到notepad++,就可以很方便地很c语言了。
然后去查了下tcc编译器的介绍和它的作者。
tcc(tiny c compiler)编译器是世界上最小的c语言编译器,而且是开源的, 小到只有约100k. (vc,gcc,动不动几十m几百m几个g的,特别是安装一次头疼一次)。别看它小, 功能还是很强。可以编译所有c99标准的ansi c程序。支持cpu包括:x86 32或64位, arm,支持windows, linux, osx.(跨平台跨系统的能力,比vc强)。
tcc是由大牛fabrice bellard开发的,这位大牛还开发过 qemu, ffmepg(ffmepg被称作音视频处理的瑞士军刀,没有ffmepg,就没有抄它的暴风影音,格式工厂,腾讯视频,以及其它好多好多音视频播放器)。

tcc特点 小!您可以在任何地方编译和执行c代码,例如在救援磁盘上(x86 tcc可执行文件大约100kb,包括c预处理器,c编译器,汇编器和链接器)。快速!tcc生成x86代码。没有字节码开销。编译,组装和链接比gcc 快几倍。无限!任何c动态库都可以直接使用。tcc正在全面遵守isoc99标准。tcc当然可以编译自己。安全!tcc包括一个可选的内存和绑定检查器。绑定的检查代码可以与标准代码自由混合。直接编译和执行c源代码。无需链接或组装。包括完整的c预处理器和类似gnu的汇编程序。支持c脚本:只需在c源代码的第一行添加“#!/ usr / local / bin / tcc -run”,然后直接从命令行执行。使用libtcc,您可以使用tcc作为动态代码生成的后端。

配置步骤

1、下载tcc软件

作者主页:
tcc主页:
下载页:

tcc最新版本是0.9.27(截止2019年6月29日)。
根据自己电脑系统(32位还是64位)下载执行程序:

无需安装的,只需要解压即可。
解压缩到 c:tcc , 可见目录下有 tcc.exe, 这个是编译器命令行程序,没有ide界面的。
将 c:tcc 加入到 系统路径中 (path)后,则可以在任何命令行窗口中使用了。

2、安装notepadd++

主页:
notepadd++最新版本是7.7.1(截止2019年6月29日)。
下载地址:npp.7.7.1.installer.exe

3、打开notepad++,一次打开菜单“notepad++ –> 插件 –>plugin manager –>show pluyin manger –>安装nppexec插件”。

方法一:在notepad++中配置tcc编译信息,此种方法可以生成.exe文件。

4、按f6出现execute对话框,填写如下信息:

npp_save
cd $(current_directory)
tcc "$(current_directory)$(file_name)" -o "$(current_directory)$(name_part).exe"
echo
echo =================编译成功后开始运行====================
"$(current_directory)$(name_part).exe"
 

5、点击save输入免费精选名字大全,这里我命名为“tcc”然后点ok

notepad++结合tcc构建c语言开发环境的图文方法

方法二:在notepad++中配置tcc编译信息,此种方法跳过编译链接的步骤,直接运行程序。

6、按f6出现execute对话框,参数如下:

npp_save
cd $(current_directory)
tcc -run "$(current_directory)$(file_name)"
 

7、点击save输入免费精选名字大全,这里我命名为“tcc_run”然后点ok;

notepad++结合tcc构建c语言开发环境的图文方法

为tcc设置快捷键

8、notepad++中依次点击:插件 ->nppexec ->advanced options,然后如图操作;

notepad++结合tcc构建c语言开发环境的图文方法

notepad++结合tcc构建c语言开发环境的图文方法

notepad++结合tcc构建c语言开发环境的图文方法

notepad++结合tcc构建c语言开发环境的图文方法
 

9、关闭notepadd++,重新打开notepadd++,依次点击:宏 ->管理快捷键;

notepad++结合tcc构建c语言开发环境的图文方法

10、在弹出的对话框中找到“插件命令”,然后找到“tcc”(若刚刚设置为其它免费精选名字大全,则这里为你设置的那个免费精选名字大全),双击打开;

notepad++结合tcc构建c语言开发环境的图文方法

11、在弹发的对话框中设置快捷键,我这里我配置快捷键为alt+f9;

notepad++结合tcc构建c语言开发环境的图文方法

12、"tcc_run"设置步骤也同上9、10、11步骤;
13、测试能否运行。

(注:用方法一编译的c语言的.exe程序默认名为 文件名.exe ,使用这种方法尽量为自己的程序新建一个文件夹)

tiny c compiler最小的c语言编译器,自己编译自己

最近,在学习编译器技术, 研究了一下tcc, 记录一下。
tiny c compiler(简称tcc, 或tiny cc)是世界上最小的c语言编译器,而且是开源的, 小到只有约100k. (vc, gcc动不动几十m几百m的, 汗)
别看它小, 功能还是很强. 可以编译所有c99标准的ansi c程序 , 支持cpu包括:x86 32或64位, arm,支持windows, linux, osx.(跨平台跨系统的能力,比vc强)
tcc是由大牛fabrice bellard开发的,这位大牛还开发过 qemu, ffmpeg (没有ffmpeg, 就没有抄它的腾讯视频,暴风影音…)

一、下载tcc

主页: https://bellard.org/tcc/
下载页: https://download.savannah.gnu.org/releases/tinycc/

tcc最新版本是0.9.26
下载执行程序: tcc-0.9.26-win32-bin.zip

无需安装的,只需要解压即可。
解压缩到 c:tcc , 可见目录下有 tcc.exe, 这个是编译器命令行程序,没有ide界面的
将 c:tcc 加入到 系统路径中 (path)后,则可以在任何命令行窗口中使用了。

二、使用tcc

用notepad写一个测试用的c程序,如下,存盘为 hello.c
 

  #include <stdio.h>     main() {      printf("hello,worldn");  }

用tcc编译,命令如下:
tcc hello.c

则将生成 hello.exe , 运行hello.exe看看

tcc可以不编译c程序,而是把它直接运行,就像脚本解释语言那样。命令行如下:

tcc -run hello.c

效果:hello.c不需编译,直接运行了

这个将c程序直接运行的功能,是tcc独有的,其它c编译器都不行。

三、更多例程

tccexamples 目录下有几个例程

 

 fib.c 是一个标准c语言例程,不多说 , 编译它:tcc fib.c

hello_win.c 是一个windows gui例程, 编译它:tcc hello_win.c

 dll.c 是一个dll 例程,编译它:

  tcc -shared dll.c //生成dll.dll文件
tiny_impdef dll.dll  // 生成dll.def文件
tcc hello_dll.c dll.def //hello_dll.c 是调用 dll.dll 的例程

四,用tcc编译tcc

书上一直是这样说的: c语言是自己编译自己的, 就是说c语言的编译器是用c语言写的,把编译器的源代码编译一下,就成了c语言编译器

 做一下这个实验: 用tcc编译tcc源码 

 首先下载tcc的源码,下载页: https://download.savannah.gnu.org/releases/tinycc, 下载源码:tcc-0.9.26.tar.bz2

解压缩到 c:tcc-0.9.26

其中的文件主要有:

    tcc.c 主程序

libtcc.c c语言标准库

写一个bat批处理文件,用于处理编译过程,存盘到c:tcc-0.9.26build.bat, 文件内容如下:
 

  @echo ====用tcc编译tcc====    @set /p version= < version  @echo>config.h #define tcc_version "%version%"    @echo 设置tcc为c语言编译器  @set cc=tcc  @set target=-dtcc_target_pe -dtcc_target_i386    @echo 编译工具软件:tiny_impdef.exe, tiny_libmaker.exe  @%cc% %target% win32/tools/tiny_impdef.c -o tiny_impdef.exe  @%cc% %target% win32/tools/tiny_libmaker.c -o tiny_libmaker.exe    @echo 编译libtcc.dll  @if not exist libtccnul mkdir libtcc  @%cc% %target% -w -shared -dlibtcc_as_dll -done_source libtcc.c -o libtcc.dll -w  @tiny_impdef libtcc.dll -o libtcc/libtcc.def    @echo 编译tc.exe  @%cc% %target% tcc.c -o tc.exe -ltcc -llibtcc      @echo 编译结束, 生成文件:  tc.exe

运行 build.bat, 结果如下

c:tcc-0.9.26>build
====用tcc编译tcc====
设置tcc为c语言编译器
编译工具软件:tiny_impdef.exe, tiny_libmaker.exe
编译libtcc.dll
编译tc.exe
tcc.c:81: warning: assignment from incompatible pointer type
编译结束, 生成文件: tc.exe
 

ok, 生成 tc.exe, 这个就是新的c语言编译器了
我让编译后生成的文件名是 tc.exe 而不是tcc.exe, 这样是为了方便与原始的编译器tcc.exe区分开

试用一下新的编译器tc.exe, 编译一下之前的 hello.c
 tc hello.c
显示有错误:
hello.c:1: error: include file ‘stdio.h’ not found
为什么 stdio.h 没找到呢? 因为当前目录下的includes目录中没有stdio.h

新建一个目录 mkdir c:newtcc
把相关文件复制进去
copy c:tcc-0.9.26*.exe c:newtcc
copy c:tcc-0.9.26libtcc.dll c:newtcc
xcopy /e c:tccinclude c:newtccinclude
xcopy /e c:tcclibtcc c:newtcclibtcc
xcopy /e c:tcclib c:newtcclib

再用新目录下的 tc.exe 作为编译器
c:newtcctc.exe hello.c
编译正确,生成 hello.exe
运行hello.exe, 则出现

hello, world

ok, 正确了

需要了解更多c/c++开发分享notepad++结合tcc构建c语言开发环境的图文方法,都可以关注C/C++技术分享栏目—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/642637.html

(0)
上一篇 2021年6月30日
下一篇 2021年6月30日

精彩推荐