什么是“运行时”?

我只是一个虾纸丫 提交于 2020-03-09 16:51:12

我听说过“C Runtime”,“Visual C ++ 2008 Runtime”,“.NET公共语言运行时”等等。

  • 究竟什么是“ 运行时 ”?
  • 它是什么做的?
  • 它如何与我的代码交互? 或者更确切地说,我的代码如何由它控制?

在Linux上编写汇编语言时,我可以使用INT指令进行系统调用。 那么,运行时只是一堆预制函数将低级函数包装成更抽象的高级函数吗? 但这不是更像是库的定义,而不是运行时的定义吗?

“运行时”和“ 运行时库 ”有两个不同的东西吗?

添加1

这些天,我想也许Runtime与所谓的虚拟机有一些共同点,比如JVM。 这是导致这种想法的引文:

这个编译过程非常复杂,可以分解为几个抽象层,这些过程通常涉及三个转换器:编译器,虚拟机实现和汇编器。 --- 计算系统的要素 (介绍,道路到硬件土地)

添加2

专家C编程:Deep C Secrets一书 。 第6章运行时数据结构是对此问题的有用参考。


#1楼

运行时可以表示程序生命周期的当前阶段(运行时/编译时/加载时间/链接时),也可以表示运行时库,它构成了与执行环境接口的基本低级操作。 或者它可能意味着运行时系统,它与执行环境相同。

在C程序的情况下,运行时是设置堆栈,堆等的代码,这是C环境所期望的要求。 它本质上建立了语言所承诺的环境。 (它可能有一个运行时库组件,crt0.lib或类似的东西,如果是C)


#2楼

我发现以下文件夹结构为理解runtime是一个非常有见地的上下文:

你可以看到有' ',有' SDK '或'软件开发工具包'然后有Runtime ,例如。 运行的东西 - 在运行时。 它的内容如下:

win32 zip包含.exe -s和.dll -s。

所以,例如。 C运行时将是这样的文件 - C运行时库,.so-s或.dll -s - 您在运行时运行,由于它们(或其内容'或目的')包含在定义中而变得特殊。 C语言(在“纸上”),然后由您选择的C实现实现。 然后,您将获得该实现的运行时,使用它并在其上构建。

也就是说,稍微极化,新的基于C的程序的用户将需要的可运行文件。 作为基于C的程序的开发人员,您也是如此,但您也需要C编译器和C库头文件; 用户不需要那些。


#3楼

运行时是您不知道对象在执行期间创建的对象的实例,对象创建基于特定条件或某些计算工作。 相反,编译时是在执行之前由您定义所需对象的实例。


#4楼

运行时是一个通用术语,指代运行代码的任何库,框架或平台。

C和C ++运行时是函数的集合。

.NET运行时包含中间语言解释器,垃圾收集器等。


#5楼

MSDN文档的这些部分可以解决您的大部分问题: http//msdn.microsoft.com/en-us/library/8bs2ecf4(VS.71).aspx

我希望这有帮助。

谢谢,达米安

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!