关于runtime的理解

Runtime广义的含义是指 使得代码可以运行的机制 ,以下几种情况是最典型的例子
  1. 解释性语言的解释器,如Perl、Basic、Awk
  2. 以虚拟机形式存在的解释器,如JVM、CLR。值得注意的是,即使代码可以被AOT或JIT编译成本地代码,仍然是受控于虚拟机,所以这里虚拟机仍然是runtime
  3. 稍微扩展一点说,OS也是本地可执行文件的runtime
以上3个例子最大的特点是,被执行的代码无法完全控制执行机制。执行机制根据需要可以暂停、中止、动态优化被执行的代码而完全不让被执行的代码知道

下面这个例子和上面三个有所不同
  1. C/C++的编译器使用的runtime library。通常情况下,C/C++编译器会在main()函数之前/之后植入、链接一些初始化代码以实现语言的一些功能、进程环境设置、argc/argv压栈、初始化标准库等等。这些代码,视场合,有时单独称作runtime library,有时和标准库合称runtime library
C/C++ runtime library的特殊之处在于其不能主动干预用户代码的执行,也(通常)不产生额外的独立的线程做什么"秘密"的事情,只能被动地在预设场合发挥作用,是用户代码的工具而不是执行机制(执行机制其实是OS)所以有时候不被认为是runtime
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值