首页 > 解决方案 > 编译时间和运行时间概念

问题描述

我试图在编写代码以单击 iPhone 屏幕时了解幕后时期。我做了一些列举以使问题清楚。

时间 1:我在 Xcode 上编写代码(编译时间)


时间 2:有一个语法错误或者我忘记了 override 关键字(编译器在幕后工作并说嘿你有一个错误,修复这个)


时间 3:我修复了错误,看起来没有错误。(编译时间)


时间 4:我按下 Command + B 并且没有错误(编译时间 - 快速编译器将我的前端代码转换为我的 CPU 和 RAM 的汇编代码


时间 5:命令 R(运行时间)


时间 6:我的应用程序运行良好。( 运行 )

而不是在编译时指向堆栈,在运行时指向堆(堆栈上的值类型-堆上的引用类型),

我几乎阅读了所有资源,所以我有一些背景,但我无法想象当我划分这个时间段时到底发生了什么。谢谢

标签: swift

解决方案


只是恢复一点:时间 1 到时间 3 是编辑时间。那里发生的情况是编译器仅运行以检查语法、变量初始化、参数有效性……这只是“预编译”</p>

时间 4 是生成机器代码的编译时间,链接谁是所有需要的库和框架。

时间 5 是安装,启动(最终调试器连接到正在运行的进程)

时间 6 是应用程序正在运行并与用户交互


推荐阅读