debugging 编译、调试、执行和运行之间的区别

edqdpe6u  于 2023-10-24  发布在  其他
关注(0)|答案(2)|浏览(269)

我是一个编程新手。另外,我对编译,调试,执行,运行感到非常困惑。它们每一个都意味着什么?首先是什么?谢谢。

hvvq6cgz

hvvq6cgz1#

不把事情搞复杂

*compile:使代码可执行,创建一个可执行的文件
*debug:一条指令一条指令的检查代码执行情况的动作
*execute/run:使代码产生您编写的结果

C基础示例

必备

  • gcc(编译器)
  • shell(例如:bash)
  • 终端仿真器

入门

主文件夹:

PROJECT
│ 
├─ README.md
│ 
└─ main.c
  • main.c:这个文件包含代码
#include<stdio.h>
 int main(void)
 {
    char ch = 'd';
    printf("hello worl%c",ch);
    return 0;
 }
  • README.md:包含项目说明

编译

打开此文件夹中的终端并输入:

gcc -o build/out main.c

*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
snz8szmq

snz8szmq2#

编译、调试、执行和运行都是软件开发中的基本概念,特别是在编程语言和软件程序的上下文中。

-编译中:

编译是翻译用编程语言编写的人类可读的源代码的过程(如C、C++、Java)转换成机器可读的代码,通常以二进制可执行文件的形式。编译器检查源代码的语法错误,解析代码不同部分之间的引用,并生成相应的机器代码。这一步骤产生一个可由计算机处理器执行的编译程序。

故障排除是识别和修复程序中的错误或缺陷的过程。缺陷可以表现为意外行为、崩溃或不正确的输出。故障排除涉及各种技术和工具来定位问题的根源,例如使用断点、单步执行代码、检查变量和分析错误消息。故障排除有助于使程序按预期正确运行。

-执行中:

执行是指在计算机处理器上运行编译后的程序或脚本的行为。当程序被执行时,处理器解释并执行程序机器代码中的指令。程序的逻辑被执行,根据源代码中定义的输入和算法产生预期的输出。

-正在运行:

运行是一个更通用的术语,它涵盖了准备,执行和与软件程序交互的整个过程。它包括编译(如果需要),执行和处理可能出现的任何运行时问题。当程序运行时,它正在积极处理数据,执行计算和响应用户交互。
总的来说:

编译涉及将源代码转换为机器代码。
错误专注于查找和修复代码中的错误。
执行涉及在计算机的处理器上运行编译的机器代码。
运行包括准备、执行和与软件程序交互的整个过程。

相关问题