“编译时”和“运行时”有什么区别?

问题描述 投票:0回答:5

我不明白术语“编译时”和“运行时”(或“运行时”)的含义。

我对“值类型”和“引用类型”的含义以及它们与上述“时间”的关系也有些困惑。

有人可以解释一下这些事情吗?

.net definition
5个回答
23
投票

“编译时间”是您构建代码的时间——编译器将您的源代码转换为 IL 的时间。

“运行时”是执行代码的时间 - 对于 ASP.NET,是在发出页面请求时。 (我个人更喜欢术语“执行时间”来区分它和“公共语言运行时(CLR)”——也就是虚拟机。)

值类型和引用类型是一个完全不同的概念,但我有一篇关于它们的文章,您可能会觉得有用。


5
投票

一个值类型的变量, 存储数据,而一个变量 引用类型存储对的引用 数据。

在计算机科学中,编译时指的是编译器执行的操作(“编译时操作”),源代码必须满足的编程语言要求才能成功编译(“编译时”) -time requirements”),或者可以在编译时推理的程序属性。

编译时执行的操作通常包括语法分析、各种语义分析(例如,类型检查和模板实例化)和代码生成。

在计算机科学中,限定词运行时间、运行时间、运行时间或执行时间是指计算机程序在计算机中实际执行(“运行”)的时间,从开始到结束。它也可能意味着程序的运行时间,那段时间的持续时间。


1
投票

值类型变量是指可以直接存储自身值的变量。
引用类型变量是指存储其值的引用(即值的地址)而不是直接存储值的变量。


0
投票

关于您的第一个问题,请参阅Stack Overflow:运行时与编译时

关于您的第二个问题,请参阅Stack Overflow:C#中值类型和引用类型之间的区别

至于它们之间的关系:它们是独立的概念。 设置变量的值和读取它的值发生在运行时;该变量是否具有值类型或引用类型。


0
投票

编译时是将源代码转换为可执行代码的时间,而运行时是可执行代码开始运行的时间。有关详细信息,请查看以下链接:https://www.javatpoint.com/compile-time-vs-runtime

© www.soinside.com 2019 - 2024. All rights reserved.