zoukankan      html  css  js  c++  java
  • 编辑器、编译器、文件、IDE等常见概念辨析

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

    区别

    首先是编译器的概念,百度百科上是这样写的:
    简单讲,编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (executables)。

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

    编译器本质上是一个指令,要与编辑器的概念区别开来。常用的编译器是将用高级语言编写的代码翻译成低级语言代码。对于一门编程语言,可以用任何一个文字编辑软件编辑,代码编辑软件多了很多功能,比如对于特定语言可以语法高亮,本质上代码都是一个不同格式的纯文本(例如:C语言的.c,Java语言的.java)。编译之后才能够成为目标程序(即相对低级的语言,机器可以直接识别的语言。
    总之,编译器与编辑器的区别:简单说编辑器是用来写代码的,而编译器是对现场高级语言代码翻译成相对低级语言的一段小程序/指令。

    好用的编辑器:

    NodePad++、 Vim、 GNU Emacs、Sublime Test、 Atom、 Windows记事本

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

    源代码文件

    源程序文件是是指未经编译的,按照一定的程序设计语言规范书写的,人类可读的文本文件。
    源代码文件包含程序员使用的任何编程语言编写的代码。
    通俗来说,存放程序代码的文件,即为我们编辑代码的文件,称为源代码文件。C语言源程序文件的扩展名为“.c”或“.cpp”。源程序文件是相对目标文件和可执行文件而言的,一般是用高级语言写出来的。

    可执行文件

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

    “xxx.sln”

    ".sln"文件是在开发环境中使用的解决方案文件。它将一个或多个项目的所有元素组织到单个的解决方案中。此文件存储在父项目目录中,他是一个或多个.proj(项目)的集合
    .sln文件包含基于文本的信息,编译环境通过这些信息找到并且加载他引用到的持久数据和VSPackages项目。当用户打开解决方案的时候编译环境通过包含在.sln文件中的preSolution,Project,postSolution信息加载解决方案,包含在解决方案中的项目以及任何和解决方案有联系的持久信息。

    项目文件

    项目 project,来 是一组代码的统称。这一组代码 必须实现一个完整的功能, 可以是一个完整的程序, 也可以是其中一个模块。项目的创立,就是为了更好的组织管理这些代码。对于初学者来说, 项目往往只有一个文件 几个函数。这是体现不出项目的价值。但一旦完成一个比较大的功能时,项目代码可以达到几千上万个文件。这时项目的管理就很有必要了。

    文本文件

    文本文件是一种由若干行字符构成的计算机文件。文本文件存在于计算机文件系统中。通常,通过在文本文件最后一行后放置文件结束标志来指明文件的结束。
    文本文件是指一种容器,而纯文本是指一种内容。文本文件可以包含纯文本。
    一般来说,计算机文件可以分为两类:文本文件和二进制文件。

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

    关系

    集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。如微软的Visual Studio系列,Borland的C++ Builder、Delphi系列等。该程序可以独立运行,也可以和其它程序并用。IDE多被用于开发HTML应用软件。例如,许多人在设计网站时使用IDE(如HomeSite、DreamWeaver等),因为很多项任务会自动生成。
    总结,IDE包括编辑器、编译器、调试器等工具。

    常用IDE

    Dev C++、Visual Studio 2019

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

    原理:清除缓存,重新将代码编译生成可执行文件后,在VS中开始运行该程序,且不调试

    经历的步骤:

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

    实际上执行的命令

    执行清除缓存、编译运行命令

    使用了g++、gcc这两个命令吗:使用了

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

    1、对于不同后缀的文件当作程序不百同。
    c后缀的文件,gcc把它当做是C程序;g++当做是C++程序;对于.cpp后缀的文件,gcc和g++都会当做c++程序。
    2、编译阶段调用不同,g++会调用gcc;
    3、连接度阶段方式不同,通常会用g++来完成,这是因为gcc命令不能自动和c++程序使用的库连接。

  • 相关阅读:
    Web Components 是什么
    HAL_RTC_MspInit Msp指代什么?
    C 枚举 相同的值
    EntityFramework Core并发深挖详解,一纸长文,你准备好看完了吗?
    ASP.NET Core MVC之ViewComponents(视图组件)知多少?
    .NET Core 1.1日期解析无APi、SQL Server数据转换JSON
    SQL Server-字字珠玑,一纸详文,完全理解SERIALIZABLE最高隔离级别(基础系列收尾篇)
    SQL Server-聚焦NOLOCK、UPDLOCK、HOLDLOCK、READPAST你弄懂多少?(三十四)
    SQL Server-聚焦深入理解死锁以及避免死锁建议(三十三)
    ASP.NET Core MVC上传、导入、导出知多少
  • 原文地址:https://www.cnblogs.com/cjt0722/p/12777836.html
Copyright © 2011-2022 走看看