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

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

1.编译器:

简单讲,编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (executables)。
注意:编译器是一个指令,要与编辑器的概念区别开来(下面有具体叙述)。常用的编译器是将用高级语言编写的代码翻译成低级语言代码。

2.编辑器:

文本编辑器(或称文字编辑器)是用作编写普通文字的应用软件,它与文档编辑器(或称文字处理器)不同之处在于它并非用作桌面排版(例如文档格式处理),它常用来编写程序的源代码。一个好的编辑器可以节省开发时间,提高工作效率,它们都是非常方便易用的环境,你可以用它们来编写代码,查看源文件和文档等,简化你的工作。
几种常见的代码编辑器
Notepad++编辑器、EditPuls编辑器、VIM编辑器、GNU Emacs编辑器、ATOM编辑器、Windows记事本等。
编译器与编辑器的区别:
简单说编辑器是用来写代码的,而编译器是对现场高级语言代码翻译成相对低级语言的一段小程序/指令。

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

源代码文件

是指将完成一件工作所需要的步骤,也就是算法,用计算机所能识别的语言,按照一定的程序结构翻译出来,并可被计算机执行的编写代码的全过程.该程序编辑形式(能通过编译、链接生成最终程序(一般是可执行文件)的源代码文件。

可执行文件

指的是可以由操作系统进行加载执行的文件。在不同的操作系统环境下,可执行程序的呈现方式不一样。在windows操作系统下,可执行程序可以是 .exe文件 .sys文件 .com类型文件。如记事本程序notepad.exe ,这类程序通常用来处理或者辅助处理其它文件。

xxx.sln

sln文件是一个文本文件,数据结构类似于XML文件,基本上也是由节组成,一个节由标记和End加标记来限定。一个sln文件通常由三部分组成:文件版、工程信息、全局设置。

项目文件

建设项目在立项、审批、招投标、勘测、设计、施工、 监理及竣工验收全过程中形成的文字、图表、声像等形式的全部 文件,包括项目前期文件、项目竣工文件和项目竣工验收文件等。

文本文件

文本文件是一种计算机文件,它是一种典型的顺序文件,其文件的逻辑结构又属于流式文件。文本文件是指以ASCII码方式(也称文本方式)存储的文件,更确切地说,英文、数字等字符存储的是ASCII码,而汉字存储的是机内码。文本文件中除了存储文件有效字符信息(包括能用ASCII码字符表示的回车、换行等信息)外,不能存储其他任何信息。

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

IDE:是集合了sdk,语言支持包,函数库,编辑器在一起的软件或者集合。可以支持你要学的特定编程语言的。他的"识别级属别"比编辑器高一级,可以识别到编程语言,或者这种语言的库。往往用起来更方便或者更专业。IDE与硬件平台有关。不同IDE携带的编译器不同。

常用IDE:

1.Visual Studio
是目前最流行的Windows平台应用程序的集成开发环境。
2.DEVC++

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

Ctrl+F5:直接运行,不能调试。原理是强行刷新,经历了删除缓存和重新加载。实际上执行的是强行刷新命令。使用了g++和gcc两个命令。

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

gcc和g++都是GNU(一个组织)的编译器。
1、对于.c后缀的文件,gcc把它当做是C程序;g++当做是C++程序;
2、对于.cpp后缀的文件,gcc和g++都会当做c++程序。
3、编译阶段,g++会调用gcc;
4、连接阶段,通常会用g++来完成,这是因为gcc命令不能自动和c++程序使用的库连接。
5、对于.cpp为后缀的C++文件,使用gcc编译或者g++编译效果差不多一样的,但是连接的时候不同,g++会在链接的时候自动使用libstdc++,而gcc不会。
6、对于.c为后缀的源文件,gcc默认使用c编译器去编译,而g++默认调用的是c++的编译器。
7、使用gcc和g++在编译.cpp文件时都会额外定义一些宏,这些宏在使用gcc编译.c文件时没有的

原文地址:https://www.cnblogs.com/yyzhu/p/12780601.html