这部分主要介绍几种常见的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;
(3)打开cmd命令窗口进入hello.c的路径下,进行tcc编译。
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,命令行命令如下:
编译后可能会提示错误,找不到某个文件,只需要在文件夹找到对应文件复制到tcc.c所在文件路径下就可以。这样设置完之后就可以使用 tc 代替 tcc 来进行C语言的编译运行,效果是一样的。