为什么VC里面函数调用,要用一个函数跳转表来做2次call?
一般,我写一个函数,那么在caller调用它的时侯,汇编那一层就是call callee的地址就可以了。
但是Vc似乎很奇怪,它把所有的函数调用/类函数调用的地址放在一个表里面,caller调用某个函数的时候,先call到这个表当中的某个位置,查找到相应的函数真正地址,jum过去。
就连ctor和dtor也不是直接call指令调用的,也是通过了这么一个跳转表。我觉得有点多余啊,平添了一层调用的开销。
[解决办法]
google下虚函数表之类的内容吧。