我是编程新手。此外,我对编译、调试、执行、运行感到非常困惑。它们各自的含义是什么?首先从什么开始? 谢谢。
不让它变得复杂
主文件夹:
PROJECT
│
├─ README.md
│
└─ main.c
#include<stdio.h>
int main(void)
{
char ch = 'd';
printf("hello worl%c",ch);
return 0;
}
在此文件夹中打开终端并输入:
gcc -o build/out main.c
这才是我们应该看到的
PROJECT
│
├─ README.md
│
├─ build
│ └─ out
│
└─ main.c
<!-- build is just the name of the
folder were the executable is placed -->
在此文件夹中打开终端并输入:
./build/out
# result:
# > ./a.out
# hello world
编译、调试、执行和运行都是软件开发中的基本概念,特别是在编程语言和软件程序的上下文中。 以下是每个术语的解释:
- 编译:
编译是将用编程语言(例如C、C++、Java)编写的人类可读源代码翻译成机器可读代码(通常以二进制可执行文件的形式)的过程。编译器检查源代码是否存在语法错误,解析代码不同部分之间的引用,并生成相应的机器代码。此步骤生成可以由计算机处理器执行的已编译程序。
- 调试:
调试是识别和修复程序中的错误或错误的过程。错误可能表现为意外行为、崩溃或不正确的输出。调试涉及各种技术和工具来定位问题的根源,例如使用断点、单步调试代码、检查变量和分析错误消息。调试有助于使程序按预期正确运行。
- 执行:
执行是指在计算机处理器上运行已编译的程序或脚本的行为。当执行程序时,处理器解释并执行程序机器代码中存在的指令。执行程序的逻辑,根据输入和源代码中定义的算法产生预期的输出。
- 跑步:
运行是一个更通用的术语,涵盖了准备、执行以及与软件程序交互的整个过程。它包括编译(如果需要)、执行和处理可能出现的任何运行时问题。当程序运行时,它会主动处理数据、执行计算并响应用户交互。
总结:
编译涉及将源代码翻译成机器代码。
调试专注于查找和修复代码中的错误。
执行涉及在计算机处理器上运行编译后的机器代码。
运行涵盖了准备、执行以及与软件程序交互的整个过程。