编辑器、编译器、文件、IDE等常见概念辨析

一、编辑器与编译器有什么区别?有什么好用的编辑器?

1.编辑器

文本编辑器(或称文字编辑器)是用作编写普通文字的应用软件,它与文档编辑器(或称文字处理器)不同之处在于它并非用作桌面排版(例如文档格式处理),它常用来编写程序的源代码

2.编译器

编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器(preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器(Linker) → 可执行程序(executables)

3.区别

编辑器是用来写代码的,而编译器是将人写的代码(高级语言)翻译成计算机可以读懂的(低级语言)一个程序

4.好用的编辑器

① Sublime Text

支持大量编程语言和标记语言,可维护的插件很多,可以扩展它的功能,拥有高效的可视化界面,人性化的功能设置,主要特点易于操作的命令行、基于python的插件API、同步编辑等

② atom编辑器

Atom中文版是一个由GitHub开发的免费开源文本编辑器,支持多平台,基于、JS、Less、HTML,是一个使用web技术构建的桌面应用程序,现在GitHub有近1000个开源包,支持为Atom添加新特性

③ Vim文本/代码编辑器

属于高级文本编辑器,完美承接了Unix编辑器Vi的功能,可高度配置的文本编辑器,满足开发人员的各种需求。主要特性是自动命令、会话屏幕、选项卡扩展、语法着色和标记等,支持键盘命令进行编辑,Vim是用C和Vim脚本编写的

④ gedit文本编辑器

作为GNOME桌面环境的默认文本编辑器,功能非常强大,界面简洁,简单易用,于2000年首次发行,完全用C语言编写的。秉承开源和自由的特性,支持国际化文本。支持多种编程语言,如c++、C、HTML、Java、XML、Python、Perl等

⑤ GNU Emacs

GNU Emacs代码编辑器是由Lisp和C语言编写的,可扩展使用图灵完整的编程语言。提供很多的文档和教程,对新手非常友好了,支持接口、邮件和新闻等扩展

二、源代码文件、可执行文件、“xxx.sln”、项目文件、文本文件。

1.源代码文件

源代码(也称源程序)是指未编译的按照一定的程序设计语言规范书写的文本文件,是一系列人类可读的计算机语言指令。 在现代程序语言中,源代码可以是以书籍或者磁带的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机程序。计算机源代码的最终目的是将人类可读的文本翻译成为计算机可以执行的二进制指令,这种过程叫做编译,通过编译器完成

2.可执行文件

可执行文件 (executable file) 指的是可以由操作系统进行加载执行的文件。在不同的操作系统环境下,可执行程序的呈现方式不一样。在windows操作系统下,可执行程序可以是 .exe文件 .sys文件 .com等类型文件。

3.“xxx.sln”

存储特定于解决方案的设置 , 称为解决方案文件。通过为环境提供对项目、项目项和解决方案项在磁盘上位置的引用,可将它们组织到解决方案中 。

4.项目文件

windows下的系统文件

5.文本文件

文本文件是一种计算机文件,它是一种典型的顺序文件,其文件的逻辑结构又属于流式文件。

特别的是,文本文件是指以ASCII码方式(也称文本方式)存储的文件,更确切地说,英文、数字等字符存储的是ASCII码,而汉字存储的是机内码。文本文件中除了存储文件有效字符信息(包括能用ASCII码字符表示的回车、换行等信息)外,不能存储其他任何信息

三、IDE与编辑器、编译器、调试器等有什么关系?举几个你常用的IDE。

1.关系

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

IDE由编辑器、编译器、调试器等组成,用于编写代码

2.常用的IDE

VS、Dev-C++

四、在Visual Studio中,按一下ctrl+F5就可以“直接运行”.c或.cpp文件。原理是什么?中间经历了了什么步骤?实际上执行了什么命令?使用了g++、gcc这两个命令吗?

1.原理

将源代码文件转为可执行文件,从而无需编译直接执行可执行文件

2.步骤

1.预处理,生成.i的文件[预处理器cpp]
2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs]
3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as]
4.连接目标代码,生成可执行程序[链接器ld]

3.实际上执行了什么命令?使用了g++、gcc这两个命令吗?

五、g++、gcc这两个命令有啥区别?

gcc 、g++分别是gnu的c & c++编译器

posted on 2020-04-26 20:37  lim-M  阅读(275)  评论(0编辑  收藏  举报