编译器的的概念百度词条上面这样子定义:
简单讲,编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (executables)。
注意:编译器是一个指令,要与编辑器的概念区别开来(下面有具体叙述)。常用的编译器是将用高级语言编写的代码翻译成低级语言代码,例如:
对于Java语言来说,它最常用的编译器就是javac指令,可以在DOS(Disk Operating System)窗口中使用,该指令包含在由sun公司(目前已被Oracle公司收购)开发的JDK(Java Development Kit,目前最高版本是JDK12.0)目录中,使用javac指令可以将.java源文件翻译成.class字节码文件,.class文件可以装载到JVM(Java Virtual Machine)的类加载器中运行,可以跨平台运行。(集成开发环境Eclipse应当包含JDK)
对于C语言来说,编译程序自动将源程序转化为二进制形式的目标程序(在Visual C++中后缀名为.obj)。
编译与链接是两码事!
在这里介绍一下GCC编译器,有兴趣可自行查阅哈。
GCC(GNU Compiler Collection,GNU编译器套件),是由 GNU 开发的编程语言编译器。它是以GPL许可证所发行的自由软件,也是 GNU计划的关键部分。GCC原本作为GNU操作系统的官方编译器,现已被大多数类Unix操作系统(如Linux、BSD、Mac OS X等)采纳为标准的编译器,GCC同样适用于微软的Windows。 [2] GCC是自由软件过程发展中的著名例子,由自由软件基金会以GPL协议发布。
GCC 原名为 GNU C 语言编译器(GNU C Compiler),因为它原本只能处理 C语言。GCC 很快地扩展,变得可处理 C++。后来又扩展能够支持更多编程语言,如Fortran、Pascal、Objective-C、Java、Ada、Go以及各类处理器架构上的汇编语言等,所以改名GNU编译器套件(GNU Compiler Collection)。
编辑器的概念百度词条上面这样子定义:
文本编辑器(或称文字编辑器)是用作编写普通文字的应用软件,它与文档编辑器(或称文字处理器)不同之处在于它并非用作桌面排版(例如文档格式处理),它常用来编写程序的源代码。
当然在这里我们主要讲的是源码(代码)编辑器,一个好的编辑器可以节省开发时间,提高工作效率,它们都是非常方便易用的环境,你可以用它们来编写代码,查看源文件和文档等,简化你的工作。
下面简单介绍一下几款最常用的代码编辑器:
Notepad++编辑器
NOTEPAD++是一款免费优秀的文本编辑器,支持在Windows环境下运行的多种编程语言。NOTEPAD++支持超过50多种编程、脚本、标记语言的语法高亮显示和代码折叠,能让用户迅速减小或扩大代码段以便查阅整个文档。用户可以手动设置当前语言,覆盖默认语言。该程序还支持自动完成某些编程语言的API子集。
EditPuls编辑器
EditPlus是一款由韩国 Sangil Kim (ES-Computing)出品的小巧但是功能强大的可处理文本、HTML和程序语言的Windows编辑器,你甚至可以通过设置用户工具将其作为C,Java,Php等等语言的一个简单的IDE。(需要自己配置编译器)
1.默认支持HTML、CSS、PHP、ASP、Perl、C/C++、Java、JavaScript和VBScript等语法高亮显示,通过定制语法文件,可以扩展到其他程序语言,在官方网站上可以下载(大部分语言都支持)。
2.EditPlus提供了与Internet的无缝连接,可以在EditPlus的工作区域中打开Intelnet浏览窗口。
3.提供了多工作窗口。不用切换到桌面,便可在工作区域中打开多个文档。
4.正确地配置Java的编译器“Javac”以及解释器“Java”后,使用EditPlus的菜单可以直接编译执行Java程序。
总之,EditPlus功能强大,界面简洁美观,且启动速度快;中文支持比较好;支持语法高亮;支持代码折叠;支持代码自动完成(但其功能比较弱),不支持 代码提示功能;配置功能强大,且比较容易,扩展也比较强。像PHP、Java程序等的开发环境,只要看一下资料,几分钟就可以搞定配置,很适合初学者学习 使用。有不错的项目工程管理功能。内置浏览器功能,这一点对于网页开发者来说很是方便。
VIM编辑器
VIM是一个可以高度自由配置的文本编辑器。它是vi编辑器的改进版,同时也是免费软件。该应用程序的建立是为了处理代码及其他很多事情,而不只是为了写电子邮件和打开配置文件。它允许你编辑文本并保存简单的文本文件,但它的主要功能是还是编辑代码。支持语法高亮显示和行编号,这是写程序必备的两个基本功能。用户可以改变界面颜色以便增加代码的可视性。对于文本编辑,VIM这个程序囊括了多种语言的拼写检查器,并具有建议如何更正拼写错误的能力。甚至是当你正在编写代码的时候,它也可以派上用场,因为该应用程序只检查不被识别为代码的文本。当然你也可以快速地从这个错误跳到下一个以便更好地校对文本。
GNU Emacs编辑器
Emacs是个可移植、扩展、免费的文本编辑器。 Emacs提供了一些命令来管理语句和段落,高亮语法使得源代码更易于阅读,以及键盘宏的方式来执行用户定义的编辑命令。 Emacs可以在若干个操作系统上运行,无论你使用的是哪一种机器类型。让程序员非常受用。如果你使用的是通用的编程语言,Emacs还可以提供模式以及相应的排版和布局,更加方便编辑代码。
ATOM编辑器
Atom是一款由GitHub开发,支持用Node.js编写插件和嵌入Git Contral,面向Mac OS X/Linux和Windows的免费的开源文本和源代码编辑器。没人愿意将时间浪费在配置自己的编辑器上面,于是ATOM出现了。它预装了所有你期望一个现代化的文本编辑器所应该具备的一切功能。而且,ATOM还配备了标签式界面、多个窗格布局、简单的文件浏览器、易学习的曲线图表,以便于你可以快速上手。
Windows记事本
在windows操作系统中,记事本是一个小的应用程序,采用一个简单的文本编辑器进行文字信息的记录和存储。自从1985年发布的Windows 1.0开始,所有的Microsoft Windows版本都内置这个软件。对于任何一门编程语言都可以通过记事本编辑但是功能较为简单,所以一般不常用。
注意:对于一门编程语言,可以用任何一个文字编辑软件编辑,代码编辑软件多了很多功能,比如对于特定语言可以语法高亮,本质上代码都是一个不同格式的纯文本(例如:C语言的.c,Java语言的.java)。编译之后才能够成为目标程序(即相对低级的语言,机器可以直接识别的语言,对于C语言它是二进制文件,对于Java语言它是字节码文件,字节码文件不是纯粹的二进制!)。
编译器与编辑器的区别:简单说编辑器是用来写代码的,而编译器是对现场高级语言代码翻译成相对低级语言的一段小程序/指令。
IDE百度词条上面这样子定义:
集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。如微软的Visual Studio系列,Borland的C++ Builder、Delphi系列等。该程序可以独立运行,也可以和其它程序并用。IDE多被用于开发HTML应用软件。例如,许多人在设计网站时使用IDE(如HomeSite、DreamWeaver等),因为很多项任务会自动生成。
简单说,就是集成了编辑器、编译器以及链接器等众多功能的一个集成开发环境。
当然集成开发环境相对于编辑器+编译器独立来用也存在相应的优缺点:
优点:
缺点
下面介绍几款功能强大的IDE:
Microsoft Visual Studio
Microsoft Visual Studio(简称VS)是微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持的所有平台.如果你在做Windows的应用开发,那么使用Microsoft自己的开发工具肯定没错。Visual Studio产品包含C++、C#和VB.NET语言。还可以为Windows x86、Windows RT和Windows手机做开发。最新版被优化为可用于触摸,方便使用Microsoft Surface平板进行编程的开发者。开发者需要付费购买。
Eclipse
Eclipse是著名的跨平台开源集成开发环境(IDE)。最初主要用来Java语言开发,目前亦有人通过插件使其作为C++、Python、PHP等其他语言的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持,使得Eclipse拥有较佳的灵活性,所以许多软件开发商以Eclipse为框架开发自己的IDE。
注意:很多朋友都没有搞清楚一个点哈,Eclipse这个软件是集成了JDK了的,不需要单独去下载安装。
文字来源:https://baike.baidu.com/item/集成开发环境/298524?fromtitle=IDE&fromid=8232086&fr=aladdin
好啦,今天就更到这里了,谢谢观看哈。