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

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

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

编辑器:

文本编辑器是用作编写普通文字的应用软件,它与文档编辑器不同之处在于它并非用作桌面排版,它常用来编写程序的源代码。一个好的编辑器可以节省开发时间,提高工作效率,它们都是非常方便易用的环境,你可以用它们来编写代码,查看源文件和文档等,简化你的工作。

好用的编辑器:

Notepad++

Notepad++是一款免费优秀的文本编辑器,支持在Windows环境下运行的多种编程语言。Notepad++支持超过50多种编程、脚本、标记语言的语法高亮显示和代码折叠,能让用户迅速减小或扩大代码段以便查阅整个文档。用户可以手动设置当前语言,覆盖默认语言。该程序还支持自动完成某些编程语言的API子集。

Editpuls

EditPlus是一款由韩国 Sangil Kim (ES-Computing)出品的小巧但是功能强大的可处理文本、HTML和程序语言的Windows编辑器。EditPlus功能强大,界面简洁美观,且启动速度快;中文支持比较好;支持语法高亮;支持代码折叠;支持代码自动完成(但其功能比较弱),不支持 代码提示功能;配置功能强大,且比较容易,扩展也比较强。

编译器:

编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。

对于C语言来说,编译程序自动将源程序转化为二进制形式的目标程序。

编译器与编辑器的区别:简单说编辑器是用来写代码的,而编译器是对现场高级语言代码翻译成相对低级语言的一段小程序/指令。

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

源代码文件

存放程序代码的文件,即我们编辑代码的文件,称为源代码文件。

C语言源程序文件的扩展名为“.c”或“.cpp”。源代码文件是相对目标文件和可执行文件而言的,一般是用高级语言写出来的。

可执行文件

链接器将目标代码、库代码和系统标准启动代码结合在一起,形成的完整的可在操作系统下独立执行的程序,称为可执行文件。

可执行文件的扩展名为“.exe“(Windows)。

xxx.sln

.sln:在开发环境中使用的解决方案文件。它将一个或多个项目的所有元素组织到单个的解决方案中。此文件存储在父项目目录中.解决方案文件,他是一个或多个.proj(项目)的集合。

项目文件

项目 project, 是一组代码的统称。这一组代码 必须实现一个完知整的功能, 可以是一个完整的程序, 也可以是其中一个模块。项目内的创立,就是为了更好的组织管理这些代码。

文本文件

把要存储的数据当成一系列字符组成,把每个字符的 ASCII 码值存入文件中。每个 ASCII 码值占一个字节,每个字节表示一个字符。故文本文件也称作字符文件或 ASCII 文件,是字符序列文件。

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

IDE

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

简单说,就是集成了编辑器、编译器以及链接器等众多功能的一个集成开发环境。

常用IDE

Visual Studio 2019

Dev C++

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

Ctrl+F5:开始执行(不调试),启动目标文件,但不附加调试器。一般会单独出现一个运行结果界面。

原理

ctrl+F5实际上是强行刷新的命令。

经历了清除缓存,重新加载。

使用了g++,gcc这两个命令。

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

g++和gcc的区别:

1、对于不同后缀的文件当作程序不同。

c后缀的文件,百gcc把它当做是C程序;g++当做是C++程序;对于.cpp后缀的文件,gcc和g++都会当做c++程序。

2、编度译阶段调用不同,g++会调用gcc;

3、连接阶段方式不同,通常会用g++来完成,这是因为gcc命令不能自动和c++程序使用的库连接。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/114449.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 黑盒测试的优缺点_黑盒测试的概念

    黑盒测试的优缺点_黑盒测试的概念黑盒测试概念:又称功能测试或数据驱动测试,是用来检测每个功能是否正常使用。黑盒测试主要意味着测试要在软件的接口处进行,这种测试方法是将测试对象看成一个盒子,测试人员不考虑内部,直接按照需求规则说明书,直接检查他的功能是否符合要求。如上图所示,将系统看成黒盒,内部如何实现是不需要了解的,只需要知道输入和预期输出。黑盒的优缺点介绍:黑盒测试的优点有:1.不需要了解程序内部的代码及实现,操作…

    2022年10月3日
    3
  • 快捷方式图标变白完美解决方法_应用程序图标显示空白

    快捷方式图标变白完美解决方法_应用程序图标显示空白annotation:explorer.exe是Windows程序管理器或者文件资源管理器,它用于管理Windows图形壳,包括桌面和文件管理,删除该程序会导致Windows图形界面无法使用解决方式:把图标缓存的数据库删除第一步:win+rcmd进入命令行第二步:一行一行键入如下命令taskkill/imexplorer.exe/fcd/d%u…

    2022年10月18日
    3
  • Android触摸事件_简述兴奋在突触的传递过程

    Android触摸事件_简述兴奋在突触的传递过程版本:2.0日期:2014.3.21 2014.3.29 版权:©2014kince转载注明出处  一、基本概念 在实际开发中,经常会遇到与触屏事件有关的问题,最典型的一个就是滑动冲突。比如在使用SliddingMenu菜单的时候,可能会与ViewPager或者其他的一些带有滑动事件的View相冲突,再比如ScrollView嵌套ListView相冲突等等。还有就是在自定义控件的时候,需

    2025年10月20日
    6
  • 请简述list,set,map类型的集合的各自特点_list与set的区别

    请简述list,set,map类型的集合的各自特点_list与set的区别List、Map、Set的区别与联系一、结构特点List和Set是存储单列数据的集合,Map是存储键值对这样的双列数据的集合;List中存储的数据是有顺序的,并且值允许重复;Map中存储的数据是无序的,它的键是不允许重复的,但是值是允许重复的;Set中存储的数据是无顺序的,并且不允许重复,但元素在集合中的位置是由元素的hashcode决定,即位置是固定的(Set集合是根据hashcod…

    2025年9月25日
    4
  • 订单支付相关问题总结

    订单支付相关问题总结最近公司商城系统要重做,我接手了支付相关的需求,发现里面弯弯绕绕的地方还是有不少的,所以把碰到的问题记录一下。支付问题在第一次对接微信支付时,生成预支付单的接口会让使用微信商家平台的API密钥进行加签,但是就算你使用的API密钥确定没有问题,也可能会返回验签失败,一点办法也没有。解决方法:使用UUID重新生成了32位纯小写的密钥(我怀疑就是密钥格式问题引起的,从来没有见过密钥让用户手…

    2022年6月6日
    23
  • pycharm2021.4激活码(破解版激活)

    pycharm2021.4激活码(破解版激活),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    74

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号