编程基础/集成开发环境
集成开发环境 (IDE) 是一种软件应用程序,为软件开发人员提供全面的软件开发工具。 IDE 通常包括源代码编辑器、构建自动化工具和调试器。大多数现代 IDE 都有智能代码完成功能。一些 IDE 包含编译器、解释器或两者。集成开发环境与更广泛的软件开发环境的其他部分之间的界限并不清晰。有时版本控制系统或简化图形用户界面 (GUI) 构建的各种工具也会被集成。许多现代 IDE 还具有类浏览器、对象浏览器和类层次结构图,用于面向对象软件开发。[1]
高级语言程序通常以 ASCII 文本形式写入 (编码) 到源代码文件中。一个唯一的扩展名 (例如:.asm .c .cpp .java .js .py) 用于将其标识为源代码文件。从我们的示例中可以猜到 - 汇编语言,“C”,“C++”,Java,JavaScript 和 Python,但是,它们只是 ASCII 文本文件(其他文本文件通常使用 .txt 的扩展名)。程序员编写的源代码必须转换为特定于计算机 CPU 的可执行机器代码文件(通常是当今计算机世界中 Intel 或与 Intel 兼容的 CPU)。将程序从源代码阶段转换为在您的计算机上运行该程序需要几个步骤。从历史上看,我们必须使用几个软件程序(文本编辑器、编译器、链接器和操作系统命令)来进行转换并运行我们的程序。但是,如今所有这些软件程序及其相关任务都已集成到一个程序中。但是,这个程序实际上是许多软件项目,它们创建了程序员用来开发软件的环境。因此,它被称为:集成开发环境或 IDE。
用高级语言编写的程序要么由某种解释器直接执行,要么由编译器(和汇编器和链接器)转换为机器代码供 CPU 执行。JavaScript、Perl、Python 和 Ruby 是解释型编程语言的例子。C、C++、C#、Java 和 Swift 是编译型编程语言的例子。[2] 该图显示了程序员输入源代码,然后指示 IDE 编译并运行程序时 IDE 中的活动进程。
启动 IDE 软件后,程序员通常会指示要打开以编辑的源代码文件。在进行更改时,他们可能会执行“另存为”或“保存”。完成源代码输入后,他们通常会指示 IDE “编译并运行”该程序。IDE 执行以下步骤:
- 如果有任何未保存的源代码文件更改,它会使用测试编辑器保存这些更改。
- 编译器打开源代码文件并执行第一步,即执行预处理器编译指令和其他步骤,为第二步准备文件。#include 将在此处将头文件插入代码。如果遇到错误,它将停止进程并将用户返回到文本编辑器内的源代码文件,并显示错误消息。如果没有遇到问题,它会将源代码保存到一个名为翻译单元的临时文件中。
- 编译器打开翻译单元文件并执行第二步,即将编程语言代码转换为 CPU 的机器指令、数据区域和链接器需要解析的项目列表。遇到任何问题(通常是语法错误或违反编程语言规则)将停止进程并将用户返回到文本编辑器内的源代码文件,并显示错误消息。如果没有遇到问题,它将保存机器指令、数据区域和链接器解析列表作为目标文件。
- 链接器打开程序目标文件并根据需要将其链接到库目标文件。除非所有链接器项目都被解析,否则进程将停止并将用户返回到文本编辑器内的源代码文件,并显示错误消息。如果没有遇到问题,它会将链接的对象保存为可执行文件。
- IDE 指示操作系统程序(称为加载器)将可执行文件加载到计算机内存中,并让中央处理单元 (CPU) 开始处理指令。当用户与程序交互,输入测试数据时,他们可能会发现输出不正确。这些类型的错误称为逻辑错误,需要用户返回到源代码以更改算法。
尽管我们尽力成为完美的程序员,但我们仍然会犯错误。解决这些错误被称为调试程序。这三种错误按照出现的顺序分别是
- 编译器 - 将编程语言代码转换为机器代码的程序。
- 链接器 - 将文件组合成单个文件的程序。(例如 .exe、.lib 等)
- 逻辑 - 程序的计算部分,例如可以使用数据和包含的公式来给出给定的数据点。
编译器错误有两种类型:预处理器(第一步)和转换(第二步)。
在转换(第二步)过程中,编译器可能会发出警告消息,在某些情况下这可能不是需要担心的问题。例如,数据类型降级可能是您希望程序执行的操作,但大多数编译器会发出警告消息。警告不会停止编译过程,但正如他们的名字所暗示的那样,应该对其进行审查。
- 编译器
- 将源代码转换为目标代码。
- 调试
- 从程序中删除错误的过程。1)编译器 2)链接器 3)逻辑
- 集成开发环境 (IDE)
- 为软件开发人员提供全面的软件开发工具的软件应用程序。
- 链接器
- 将目标文件连接或链接到可执行文件中。
- 加载器
- 操作系统的一部分,它将可执行文件加载到内存中并指示 CPU 开始运行程序。
- 预处理器
- 编译器将源代码转换为目标代码时执行的第一步。
- 文本编辑器
- 用于创建和编辑 ASCII 文本文件的软件程序。
- 警告
- 编译器警告可能存在问题。