雅乐网

计算机技术、学习成长

编程 » C/C++ » c语言加油站1——编辑器、编译器和集成开发环境

c语言加油站1——编辑器、编译器和集成开发环境

要学习c语言,最基本的方法就是动手写程序。我们以一个hello world程序为例,看一看一个c语言程序是怎么从源代码变为可以执行的文件的。

纯文本编辑器

编辑器一般指的是纯文本编辑器,用它可以编辑纯文本文件。所谓纯文本文件,就是只包含了文本的文件。例如windows自带的记事本就是一个纯文本编辑器:只是文本,不包含文本的格式。

而word就不是纯文本编辑器,因为word中我们可以设置不同的字不同的格式,保存成文件后,word里面的字符也不是按照字符编码顺序排列的。

虽然记事本是系统自带的编辑器,但是并不推荐使用记事本来写代码。因为记事本不但功能简陋,而且有时候会自作聪明的加入不必要的文本。

许多现代编辑器都加入了适应编程的许多功能,例如显示行号、语法高亮、自动完成等功能,这些编辑器比记事本更好。常见的现代编辑器有Sublime text 3、Notepad++、Editplus等。

在这里,我使用notepad2编辑器编辑好了我们的hello world源代码,是一个.c为后缀名的纯文本文件。

scrn20150216164342

编译器

c语言程序的源代码是文本形式的,这样可以方便我们读懂。但是,计算机并不能直接运行文本文件,必须转化为计算机认识的二进制程序才可以运行。最终生成的可执行文件又叫做可执行目标文件。

一般来说,编译器(编译系统)完成文本源文件到可执行文件的转换。常见的c语言编译器有:GCC(the GNU Compiler Collection)、Clang(a C language family frontend for LLVM)、Visual C++ :: cl.exe(M$VC自带的编译器)、MinGW::gcc(Minimalist GNU for Windows).

下面我们使用MinGW中的gcc编译器把helloworld的源代码文件变成可执行文件:

gcc

进入源代码所在的目录后,我们使用

gcc helloworld.c -o helloworld.exe

把helloworld.c编译成helloworld.exe的可执行文件。然后我们便可以执行helloworld.exe了

什么是GNU

GNU(GNU’s Not Unix)是1984年由Richard Stallman发起的一个项目,它最初的目的是开发一个完整的类unix系统,并且其源代码可以自由传播。现在,GNU已经开发出了包含几乎所有unix的主要部件,包括:emacs编辑器、gcc编译器、gdb调试器、汇编器、链接器等等。现在我们用的Linux其实都是GNU/Linux,GNU的各种工具为Linux内核提供了相应的环境,受到人们的欢迎。GNU取得了非凡的成绩,现代开放源代码运动中的思想就是起源于GNU中的自由软件的思想。

什么是GCC

gcc编译器是GNU开发出的许多工具中的一个,也是现在最流行的c语言编译器。它现在已经支持c、c++等多种语言,支持在多种机器上生成目标代码。

什么是MinGW

MinGW,是Minimalist GNU on Windows的缩写。由于GNU原生是在Linux系统上运行的,MinGW提供了windows上的一个版本,但是使用体验比linux上差很多。安装MinGW后,便可以使用gcc、gdb等GNU工具。

IDE(集成开发环境)

集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。

我们经常说的VC6、VS2013、codeblocks都属于集成开发环境。集成开发环境对于程序的开发十分有帮助,但是我们必须了解其背后的原理。这些集成开发环境编译运行c语言代码,都是在后台调用了编译器,传入了不同的参数,实现不同的功能。

雅乐网推荐大家在明白了源代码的编译过程后,使用IDE来进行开发。虽然IDE的自动完成功能被认为不利于新手(初学时可以不使用自动完成,增加熟练度),但是IDE的方便可以让我们更加专注于c语言的部分而不是配置环境。

雅乐网推荐大家使用VS2013(或者VC2010)或者codeblocks等 。不推荐使用VC6。

IDE中有工程的概念,源代码必须加入工程才能进行编译、调试和运行。一般使用文件菜单中的新建工程就可以,工程类型选择控制台程序。

IDE新建c代码以及运行的流程,参考

VC2010运行hello world

codeblocks运行hello world

sublime text配置gcc教程

如果文章对你有帮助,欢迎点赞或打赏(金额不限)。你的打赏将全部用于支付网站服务器费用和提高网站文章质量,谢谢支持。

版权声明:

本文由 原创,商业转载请联系作者获得授权。
非商业转载请注明作者 雅乐网 ,并附带本文链接:
http://www.yalewoo.com/learn_c_1.html

上一篇:

下一篇:

我要评论

验证码*: 4 + 6 =