张成岗(CZ)的博客世界分享 http://blog.sciencenet.cn/u/zcgweb 脑损伤与脑保护;神经认知;生物信息;蛋白质组;辐射损伤与防护

博文

[转载]使用TCC编译器以及notepad++完成TCC自己编译自己

已有 2916 次阅读 2021-1-30 23:51 |系统分类:科研笔记|文章来源:转载

https://blog.csdn.net/qq_33523925/article/details/89350548


使用TCC编译器以及notepad++完成TCC自己编译自己

 2019-04-21 08:32:35  1061  已收藏 4

分类专栏: C语言学习 文章标签: notepad++ tcc自己编译自己 常用C语言编辑器

版权

这部分主要介绍几种常见的C语言编译器,以及常用的C语言文本编辑器notepad++。然后使用notepad++以及TCC编译器完成自己编译自己。

一、常见C语言编译器介绍

这里我们将介绍到的常见C语言编译器有:GCC、TCC、VC++6.0、Dev-C++、VS。

1.GCC

GNU编译器套件(GNU Compiler Collection)包括C、C++、Objective-C、Fortran、Java、Ada和Go语言的前端,也包括了这些语言的库(如libstdc++、libgcj等等)。GCC的初衷是为GNU操作系统专门编写的一款编译器。GNU系统是彻底的自由软件。此处,"自由"的含义是它尊重用户的自由。

2.TCC

Tiny C Compiler(TCC) 是一个轻量级高速的C语言编译器,是由Fabrice Bellard开发的。与其他C语言编译器不同,它是一个自我依赖的系统,不需要其他外部的汇编器和连接器。TCC的编译速度十分快,以至于编译一些大型项目都不需要Makefile文件。

TCC支持ANSI C,大部分的 ISO99 C的新标准和许多GNU C扩展以及C语言和汇编语言混编。

TCC可以用来执行 C 脚本,即C语言源文件可以像Perl和Python一些脚本语言一样直接执行。编译过程十分迅速和可执行文件的执行速度不相上下。

3.VC++6.0

目前主流的C/C++语言编译器,包含强大的类和内嵌WinAPI的MFC,具有可视化的编程界面。对于TC等的作品也具有向下兼容的特点,建议读者选用作为C语言过渡到Windows平台编程的首选工具。当然,作为学习,该系统显得有点庞大,不过通过入门的学习,调试旧的Tc程序也可以。

4. Dev-C++

是一款不错的C语言学习的编程工具。它是一个Windows环境下C/C++的集成开发环境(IDE),它是一款自由软件,遵守GPL许可协议分发源代码。使用MingW64/TDM-GCC编译器,遵循C++ 11标准,同时兼容C++98标准。开发环境包括多页面窗口、工程编辑器以及调试器等,在工程编辑器中集合了编辑器、编译器、连接程序和执行程序,提供高亮度语法显示的,以减少编辑错误,还有完善的调试功能,适合初学者与编程高手的不同需求。

Dev-C++ 的优点是功能简洁,适合于在教学中供 C/C++语言初学者使用。缺点是它的功能并不完善,各方面存在着一些错误。因此它也只适合于初学者使用,而并未在商业级的软件开发中使用。

5.Microsoft Visual stdudio

Visual Studio(VS) 是一套非常完备的工具和服务,是目前最流行的Windows平台应用程序的集成开发环境。可以通过强大的集成开发环境构建面向 Windows、Android、iOS 以及 Web 的出色应用。使用任何 IDE 或编辑器在云中进行版本控制、敏捷、持续交付、应用程序分析协作。

适用于所有操作系统的编辑器使用可在 Windows、OS X 或 Linux 上运行的免费代码编辑器构建和调试现代 Web 和云应用程序。

二、notepad++介绍

Notepad++是 Windows操作系统下的一套文本编辑器(软件版权许可证: GPL),有完整的中文化接口及支持多国语言编写的功能(UTF8技术)。

Notepad++功能比 Windows 中的 Notepad(记事本)强大,除了可以用来制作一般的纯文字说明文件,也十分适合编写计算机程序代码。Notepad++ 不仅有语法高亮度显示,也有语法折叠功能,并且支持宏以及扩充基本功能的外挂模组。

Notepad++是免费软件,可以免费使用,自带中文,支持众多计算机程序语言: C,C++,Java,pascal,C#,XML,SQL,Ada,HTML,PHP,ASP, AutoIt, 汇编, DOS批处理, Caml, COBOL, Cmake, CSS,D, Diff, ActionScript, Fortran, Gui4Cli, Haskell, INNO, JSP, KIXtart, LISP, Lua, Make处理(Makefile), Matlab, INI文件, MS-DOS Style, NSIS, Normal text, Objective-C, Pascal,Python, Javascript,Verilog,Haskell,InnoSetup,CMake,VHDL,Matlab

三、TCC的使用

1.输出“hello world!”

(1)下载tcc,解压后添加到系统路径;
(2)在notepad++中,输入hello world的C语言代码,保存为hello.c;

#include<stdio.h>

int main()
{
	printf("hello world!\n");
	return 0;
}1234567

(3)打开cmd命令窗口进入hello.c的路径下,进行tcc编译。

//打开hello.c所在的路径
E:
cd E:\tcc_project

//使用tcc产生.exe文件
tcc hello.c

//不需要编译,直接运行
tcc -run hello.c123456789

2.实现tcc自己编译自己

C语言是自己编译自己的,也就是说C语言的程序是用C语言写的,所以我们可以使用TCC来编译自己。

(1)下载TCC源代码

下载页: http://download.savannah.gnu.org/releases/tinycc,
下载源码:tcc-0.9.26.tar.bz2
解压后就得到了TCC的源代码,其中tcc.c是主程序,我们需要对它进行编译运行。

在我们直接编译tcc.c之前,需要进行一些相关的设置:需要运行win32里面的bulid_tcc.dll。

我的文件路径是C:\Users\Administrator\Desktop\tcc\tcc.c\tcc-0.9.26\win32,命令行命令如下:

//进入路径
cd C:\Users\Administrator\Desktop\tcc\tcc.c\tcc-0.9.26\win32

//将tcc.c产生tc.exe文件,与tcc区别开
tcc tcc.c -o tc.exe12345

编译后可能会提示错误,找不到某个文件,只需要在文件夹找到对应文件复制到tcc.c所在文件路径下就可以。这样设置完之后就可以使用 tc 代替 tcc 来进行C语言的编译运行,效果是一样的。




https://wap.sciencenet.cn/blog-40692-1269804.html

上一篇:[转载]北京自然辩证法研究会:“国家科技创新中心发展战略综合性论坛”议程
下一篇:[转载]Tiny C Compiler最小的C语言编译器
收藏 IP: 123.114.178.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-30 19:42

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部