zoukankan      html  css  js  c++  java
  • 理解runtime system

    最近需要编译不同平台的库,因此比以前只开发C++程序关注底层更多点。先来看看术语runtime system的解释。

    主要参考资料:

    http://en.wikipedia.org/wiki/Runtime_system

    runtime system有时候就简称runtime, 但是runtime字面意义是运行的时候发生的事情,范围很广。所以我这里仍然用runtime system.

    无论什么计算机语言,都会在运行时执行一定的策略,或多或少而已。这些策略显然是一些可以运行的代码,这些代码一定会出现在你的可执行程序里面。我把实现这些策略的这些代码叫做runtime system. 因此这是一个人为制造出来的东西,它可以做的很少,比如C,也可以做的很多,比如Java或者其他更高级的动态语言。或许有些语言会定义一个标准,runtime system应该做哪些工作,或许不同的编译器实现者自己决定让runtime system干点什么。毕竟,说到底就是一段人写的代码。

    先看看C的runtime-system都能干些什么。它管理进程的堆栈,创建局部变量所用的空间,把调用参数压入函数栈,维护栈的状态。

    而在面向对象语言中,runtime-system还可以做类型检查和方法寻址(resolving method references),还可以做内存池管理等等, 比如Java的runtime system。

     

    如果这部分代码被放在动态或者静态库中供应用程序链接,就叫做runtime library. 比如下图VC中:

    http://msdn.microsoft.com/en-us/library/ms235265.aspx


    最后,不要把C++标准库和runtime library等同起来。前者是提供了C++标准库的所有实现,比如GCC的libstdc++,后者是运行时系统。

  • 相关阅读:
    对象比较
    ObservableCollection<T> 的同类 ListCollectionView
    数据模板--DataTemplate
    ListBox的虚拟可视化技术
    WPF 动画 和 色彩 的随笔
    Binding.RelativeSource 属性
    javascript基础DOM操作
    js dom 操作技巧
    js 内置对象和方法 示例
    javascript 编程技巧
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3268883.html
Copyright © 2011-2022 走看看