- 编译器(compiler)
把高级语言翻译为机器语言的一个工具。
C语言的编译器有很多。Linux平台主要有gcc,windows平台主要有微软的编译器和gcc的windows版本
- 编辑器(editor)
就是我们写源代码的文本编辑器。最常见的就是windows自带的记事本,但是功能太简单一般没人使用它直接编写代码。一个好的编辑器能够让我在编写和修改代码时事半功倍。如:代码高亮(可以很清楚的分辨一些关键词,像 int num;)、自动完成(出现函数名、变量名、成员名等方便我们快速输入)、函数参数提示、快速定位等功能
编辑器windows平台的编辑器特别多,Notepad++、EditPlus、UltraEdit等,选择一款自己喜欢的即可,个人推荐Notepad++ 功能完整、轻便、简洁、开源免费。Linux下主要有vim和emacs 都很厉害但是使用还需要学习。他们都有windows版本。
- IDE(Integrated Development Environment,集成开发环境)
就是将编译器、编辑器、连接器、调试、管理等工具功能集中在一起。IDE不是必需的,它只是为开发提供方便,让我点的鼠标就能编译、链接、运行、调试程序。而不需要在命令行输入命令完成程序的编译、链接、运行和调试。目的就是为了让我们更简便更快捷的开发软件。
IDE也很多,Windows平台下主要是vc++ 6.0 和之后的Microsoft Visual Studio 系列软件,这是微软自己的产品所以在windows平台上表现的很好,也是用微软的编译器兼容性都较好。其他windows下的IDE大多是用gcc的windows版本,也有给微软编译器加外壳产生的。主要有Codeblocks 、Dev-C++、C-Free、Visual Mingw、eclipse 等,linux下我们较少使用IDE,因为很多时候都没有KDE,都是在命令行下操作的。
初学者xp系统建议使用vc++6.0或Microsoft Visual C++ 2010 Express,win7系统使用Microsoft Visual C++ 2010 Express 这是微软提供的免费学习版本,下载地址http://www.visualstudio.com/zh-cn/downloads/download-visual-studio-vs#DownloadFamilies_4,visual c++ 6.0在win7系统上有兼容问题,vc++2010的编辑器比vc++6.0的好用很多。
- 编辑器的字体
选择一个适合自己的编程字体不仅能让代码看得更舒服,还能提高工作效率的!个人推荐Fixedsys这也是 vc++6.0编辑器的默认字体,长期以来记事本也用这个字体,非常的经典。但是系统的FixedSys点阵字体,vc++2010不能使用,但可以在网上下载Fixedsys 的TTF字体,安装后设置12pt和原来的基本一样
几种编程字体的说明http://www.360doc.com/content/09/0223/05/92452_2619498.shtml
- C语言初学者建议
Windows平台选择vc++6.0 和 vc++ 2010 Express是不二的选择。
Vc++6.0 使用很简单,直接新建C源程序就能编译运行,会自动创建工程。Vc++2010却要创建工程再添加C源程序文件才能编译运行。而且vc++6.0在win7 上有兼容问题,经常会出现卡死报错等问题。vc++6.0的编辑器不是很好。高亮,括号匹配等都做的不到位。建议使用vc++2010 express版本。
也可以使用notepad++ 加vc中的任何一个版本,简单的编写和运行程序。安装vc++6.0之后。配置notepad++ 运行里添加命令cmd /k chdir /d "$(CURRENT_DIRECTORY)" & cl "$(FILE_NAME)" & echo Running: & "$(NAME_PART).exe" & PAUSE & EXIT
之后即可直接编译运行代码
如果安装的vc++2010 需要设置一下环境变量 请参考http://www.cnblogs.com/Realh/archive/2011/12/12/2284741.html 命令的可以用vc++6.0那种,不用分开为编译、连接、运行、可一次完成。
Linux平台使用命令行完成,有利于掌握C语言编译、连接、运行的整个过程,这个可能需要学习一些linux的知识。学习linux可以到linux体验中心http://linuxlearn.net/ 申请一个账号。也可以自己安装linux系统学习。一般使用vim做为编辑器,GUN gcc 作为编译,这两个linux系统都是自带的。
选择一个适合自己的开发环境,开始学习C语言,不要在各种工具上做过多的纠结。每种工具都有各自有缺点。