什么是运行时环境?

有人能简单解释一下吗。它是指运行应用程序代码的环境(DOS、 Windows、 Linux 等)吗?

73691 次浏览

是的,包括所有的设置(比如环境变量)、公共库(!)、目录结构、网络邻居 e.t.c

执行期函式库也可以是一个虚拟机,比如 JRE (JRE)或 CLR (通用语言运行库)。NET 架构。

你们项目的目标是什么?该程序是否运行在 JRE、 CLR 之上?还是要编译成由操作系统运行的二进制文件?

主要的问题是你的程序的目标是什么。你的程序将如何执行?

将其与开发环境和构建环境区分开来。

你会发现这里有等级制度。

运行时环境-执行程序所需的一切,但是没有工具来更改它。

构建环境——给定某人编写的一些代码,您需要编译它或者准备一个可执行文件放到运行时环境中的所有东西。构建环境非常无用,除非您可以看到已经构建的测试,所以它们通常也包括 Run。在 Build 中,实际上不能修改代码。

开发环境——编写代码、构建代码和测试代码所需的一切。代码编辑器和其他类似的工具。通常还包括构建和运行。

我从事编译器和执行期函式库方面的工作,它是目标计算机寄存器和内存的结构,用于管理内存和维护指导执行过程所需的信息。

事实上,几乎所有的编程语言都使用三种执行期函式库之一,它们的基本结构并不依赖于目标机器的具体细节。

这三种运行时环境是

  1. 完全静态环境(例如 FORTRAN77)
  2. 基于堆栈的环境(C,C + + )
  3. 全动态环境(LISP)

一旦软件程序被执行,它就处于运行时状态。在这种状态下,程序可以向计算机的处理器发送指令,并访问计算机的内存(RAM)和其他系统资源。 RTE 允许程序在程序员可以跟踪程序正在处理的指令并调试可能出现的任何错误的环境中运行。 虽然开发人员使用 RTE 软件来编写程序,但日常电脑用户也可以使用 RTE 程序,例如 Adobe Flash Player 等软件

来源

为了补充给出的其他答案,我想说执行期函式库是一个支持程序/进程执行的环境。一个能够执行的程序需要执行期函式库。执行期函式库为计划/程序提供以下服务:-

  • 常驻记忆
  • 诸如文件、套接字等资源。
  • 环境变量
  • 正确的初始化
  • 妥善处理。

简而言之,执行期函式库就是程序,就像物理环境对我们一样。没有执行期函式库,程序/进程就无法维持。

它是指能够在计算机系统上执行软件程序的软件和硬件资源的集合。运行时系统是一种复合机制,旨在提供程序执行服务,而不管所使用的编程语言是什么

简单和通用的定义

让我们不要把事情弄得这么复杂,在软件工程的语境中,执行期函式库仅仅是一个软件需要运行的环境。

例如,你可能在谷歌上搜索了 GTA-V 的 PC 要求,然后找到了下面的答案:

最低制度要求:

  • 操作系统 : Windows 8.164位,Windows 864位,Windows 764位服务包1
  • 处理器 : Intel Core 2 Quad CPU Q6600@2.40 GHz (4 CPU)/AMD Phenom 9850 Quad-Core CPU (4 CPU)@2.5 GHz
  • 内存 : 4 GB
  • 显卡 : NVIDIA 9800 GT 1 GB/AMD HD 48701 GB (DX 10.10.1,11)
  • 声卡 : 100% DirectX 10兼容
  • 硬盘空间 : 65GB

这些是什么? 这些是你们 需要运行 GTA-V环境变量,另一种说法是:

这是 runtime environment的 GTA-V。

以 Node.js 为例,当你说 Node.js 是 JavaScript 执行期函式库时,你只是指 Node.js 提供了 everything(从软件的角度)来在硬件(手机、笔记本电脑等)上运行 JavaScript 代码。该 everything包括与该特定硬件的操作系统的接口。

注: 以下两种说法都是正确的:

  • Js 是 JavaScript 执行期函式库(rTE)。
  • 安装了 Node.js 的 Node.js 和操作系统为 JavaScript 提供了执行期函式库。

技术定义

执行期函式库,主要实现执行模型的一部分。

execution model指定语言元素的 behavior。通过应用执行模型,可以推导出用该编程语言编写的程序的行为。

好的,我知道 console.log("Hi")console上显示了 hi,但是这个特定字符串(console.log)的 behaviour是如何实现的呢?
部分或全部采用 betweenunderlying steps代码执行和输出的日志记录构成 runtime environment