gpt4 book ai didi

c++ - 什么是 vtable 锚定,它如何在共享对象中工作?

转载 作者:行者123 更新时间:2023-11-28 05:52:36 25 4
gpt4 key购买 nike

我正在研究 C++ 库的一些问题,并确保类型信息在应用程序和共享对象之间保持一致。我也有兴趣确保 EqualObject 比较有效,这意味着我确实拥有相同的对象,而不是恰好相等的两个对象在 operator== 下。

This answer状态在标题中锚定一个 vtable。我不熟悉这项技术。或者我听说它有另一个名字。

什么是 vtable 锚定,它是如何工作的?


我也知道 dynamic_cast, throw, typeid don't work with shared libraries来自 GCC FAQ。

最佳答案

这是非标准技术,但问题很清楚:哪个翻译单元应该包含 vtable?如果虚拟析构函数不是内联的,则它恰好在一个翻译单元中定义,将 vtable 放在那里是一个简单的选择。

对于可移植代码,这是无关紧要的。您不会关心重复的 vtable。

关于c++ - 什么是 vtable 锚定,它如何在共享对象中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34913197/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com