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

Posted

技术标签:

【中文标题】编译、调试、执行和运行的区别【英文标题】:Difference between compiling, debugging, executing and running 【发布时间】:2021-10-11 12:58:47 【问题描述】:

我是编程新手。此外,我对编译、调试、执行、运行感到非常困惑。他们每个人的意思是什么,首先是什么? 谢谢。

【问题讨论】:

【参考方案1】:

不复杂

编译:使您的代码可执行,创建可执行文件 调试:是逐条检查代码执行的动作 执行/运行:使您的代码产生您编码的结果

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:输出的名称 ma​​in.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 

【讨论】:

以上是关于编译、调试、执行和运行的区别的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SSH 下远程使用 IDE 编译和调试

VS系列软件中debug和release编译环境有什么区别

关于QtCreator中三种不同编译版本 debugreleaseprofile 的区别

VS2010启动调试运行 和开始执行的区别与耗时

.net的开发环境和运行时环境有啥区别

调试版本和运行版本之间的区别