import{_ as e,c as a,o as i,a4 as l}from"./chunks/framework.DtvhUNIn.js";const m=JSON.parse('{"title":"3.1 该使用哪个编辑器???","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.1该使用哪个编辑器???.md","filePath":"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.1该使用哪个编辑器???.md"}'),r={name:"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.1该使用哪个编辑器???.md"},t=l('
我们平时所说的程序,是指双击后就可以直接运行的程序,这样的程序被称为可执行程序(Executable Program)。
在 Windows 下,可执行程序的后缀主要有 .exe
在类 UNIX 系统(STFW)下,可执行程序没有特定的后缀,系统根据文件的头部信息来判断是否是可执行程序
可执行程序的内部是一系列计算机指令和数据的集合,它们都是二进制形式的,CPU 可以直接识别,毫无障碍;但是对于程序员,它们非常晦涩,难以记忆和使用。
(你也不想用一沓纸带写程序吧)
编辑器的概念很简单,百度百科上这么写道:
编辑器是软件程序,一般是指用来修改电脑档案的编写软件,但也有人称 PE2、HE4(汉书)……等文书软件为编辑器。常见的编辑器有文本编辑器、网页编辑器、源程序编辑器、图像编辑器,声音编辑器和视频编辑器等。
当然在这里我们主要讲的是代码编辑器,一个好的编辑器可以节省开发时间,提高工作效率,它们都能提供非常方便易用的开发环境。你可以用它们来编写代码,查看源文件和文档等,简化你的工作。以下是一些常用的代码编辑器,每个不同的编辑器都有不尽相同的目标用户群体。
C 语言代码由固定的词汇按照固定的格式组织起来,简单直观,程序员容易识别和理解,但是对于 CPU,C 语言代码就是天书,根本不认识,CPU 只认识几百个二进制形式的指令。这就需要一个工具,将 C 语言代码转换成 CPU 能够识别的二进制指令,也就是将代码加工成 .exe 程序;这个工具是一个特殊的软件,叫做编译器(Compiler)。 编译器能够识别代码中的词汇、句子以及各种特定的格式,并将他们转换成计算机能够识别的二进制形式,这个过程称为编译(Compile)。
·机器语言、汇编语言和高级语言区别
而编译器所做的就是进行这三种语言的互相转换。大多数情况下,编译是从更高级的语言(高级语言、汇编语言)编译成低级语言(汇编语言、机器语言)。
另一种情况是,从他人的可执行程序(低级语言)编译成高级语言,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,某些特定情况下可能推导出源代码。这个过程叫做反向编译。
编译器:将你所编辑的源代码编译成机器所能理解的语言,比如 VC++ 把你的.cpp 文件编译成.obj 文件(经过编译器编译这时的代码计算机已经可以识别),而最后的.exe 则是通过连接生成的(这里的工作是由连接器完成的,跟编译器无关)。
语言的编译器有很多种,不同的平台下有不同的编译器,例如:
你的代码语法正确与否,编译器说了才算,我们学习 C 语言,从某种意义上说就是学习如何使用编译器,让编译器生成可执行程序(例如 Windows 下的 .exe 程序)。
编译器可以 100% 保证你的代码从语法上讲是正确的,因为哪怕有一点小小的错误,编译也不能通过,编译器会告诉你哪里错了,便于你的更改。
实际开发中,除了编译器是必须的工具,我们往往还需要很多其他辅助软件,例如:
这些工具通常被打包在一起,统一发布和安装,例如 Visual Studio、Dev C++、Xcode、Visual C++ 6.0、C-Free、Code::Blocks、JetBrains Clion 等,它们统称为集成开发环境(IDE,Integrated Development Environment)。
集成开发环境就是一系列开发工具的组合套装。这就好比台式机,一个台式机的核心部件是主机,有了主机就能独立工作了,但是我们在购买台式机时,往往还要附带上显示器、键盘、鼠标、U 盘、摄像头等外围设备,因为只有主机太不方便了,必须有外设才能玩的爽。
集成开发环境也是这个道理,只有编译器不方便,所以还要增加其他的辅助工具。
作为个人使用比较顺手的几款 IDE
Java: JetBrains IntelliJ IDEA
C: Visual Studio(宇宙第一 IDE), JetBrains Clion,Visual Studio Code(编辑器 IDE 化需要额外配置)
Python: JetBrains Pycharm
Vim 在附加篇章里有额外介绍
当然,适合你的才是最好的
',37),o=[t];function n(p,s,c,h,d,_){return i(),a("div",null,o)}const C=e(r,[["render",n]]);export{m as __pageData,C as default};