c++ - 什么是跳台?

标签 c++ c memory embedded

谁能解释一下跳转表的机制以及为什么在嵌入式系统中需要它?

最佳答案

跳转表可以是指向函数的指针数组或机器代码跳转指令数组。如果您有一组相对静态的函数(例如系统调用或类的虚函数),那么您可以创建此表并使用数组中的简单索引调用函数。这意味着检索指针并调用函数或跳转到机器代码,具体取决于所使用的表类型。

在嵌入式编程中这样做的好处是:

  1. 索引比机器代码或指针更节省内存,因此在受限环境中可以节省内存。
  2. 对于任何特定函数,索引都将保持稳定,更改函数只需要换出函数指针。

如果确实会花费您一点点访问表的性能,但这并不比任何其他虚函数调用差。

关于c++ - 什么是跳台?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48017/

相关文章:

java - Java 和 C 中管道和序列化之间传输数据的区别?

c++ - 将一个数组的内容复制到另一个数组会导致内存泄漏吗

c++ - 无法将内存分配给 C++ 中的唯一地址

php - 使用有限的内存处理来自 mysql 的大型结果集

c++ - 读取内存中的位

c++ - 为什么 C++ 编译器不能知道指针指向派生类?

c++ - 错误 : expression must have class type

c++ - 尝试在 QGraphicsScene 中绘制背景网格而不使用抗锯齿时出现伪影

c - 尝试更改 C 中字符串指针的内容时出错

c - 库存 GTK 按钮不显示?