相关文章推荐
爽快的包子  ·  CSS动画相关知识点·  4 月前    · 
卖萌的葡萄酒  ·  setCategory(_:mode:opt ...·  5 月前    · 
帅呆的四季豆  ·  等待 process.nextTick() ...·  11 月前    · 
不羁的青椒  ·  Gradle 学习之 Android ...·  1 年前    · 

本文介绍qemu(version 7.2.12)的QOM (Qemu Object Model),以及基于QOM实现的Accelerator和MachineClass,为VM的创建和初始化做准备。

Qemu对象模型QOM (1)

Qemu是C语言编写的,所以手动实现了类似于C++的面向对象机制,也就是QOM (QEMU Object Model)。有了它,开发者可以注册class,然后创建class的实例。简单地说,QOM是这样实现的:

  • 一切皆对象,有点类似于python;
  • 也就是说class本身也是一个对象,即class-object;其中保存着父类的实例(通过组合实现继承), class的name, 以及class的函数指针(相当于成员函数)。
  • TypeImpl 描述一个class,包括:
  •