gpt4 book ai didi

c++ - 重新编译二进制或派生类以在基类中添加新方法

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:13:25 25 4
gpt4 key购买 nike

之前发布了一些类似的问题,但我看不到我的具体要求的答案。

我有一个被编译成共享库 (.so) 的基类。该库已被使用,并且有一些类派生 self 的基类并使用我的基类的虚函数。

现在我需要修改我的基类以添加一个将在内部使用的新方法(NON-VIRTUAL)。然后我将重新编译共享库。

派生类是否需要重新编译?使用派生类和共享库创建的二进制文件是否需要重新编译?

最佳答案

在您的情况下,您不需要重新编译派生类。仅当从头文件(在派生类中使用)中获取的类的二进制结构知识发生变化时,才需要重新编译。这恰好是

  • 添加了一个数据成员
  • 对 Vtable 进行了修改(更改虚函数)
  • 对现有函数签名进行修改
  • 对内联函数的更改

既然这两者都没有发生,你应该没问题。引用from here

关于c++ - 重新编译二进制或派生类以在基类中添加新方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37203732/

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