zoukankan      html  css  js  c++  java
  • 编辑器、编译器、文件、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文件时没有的

  • 相关阅读:
    Linux基础3-1 Bash及其特性
    三、手写ORM实现数据库更新
    三、TCP协议
    一、OIS七层模型及数据传输过程
    泛型缓存原理
    树莓派公网服务器实现frp内网穿透
    Dto数据传输对象
    Ubuntu下 Nginx静态代理部署网页常见报错
    JWT权限验证
    解决传入的请求具有过多的参数,该服务器支持最多 2100 个参数
  • 原文地址:https://www.cnblogs.com/yyzhu/p/12780601.html
Copyright © 2011-2022 走看看