gpt4 book ai didi

c++ - 基类更改后重新编译

转载 作者:行者123 更新时间:2023-11-30 04:29:42 25 4
gpt4 key购买 nike

In particular, the way most C++ implementations work implies that a change in the size of a base class requires a recompilation of all derived classes.

此语句来自 stroustrup 书。因此,如果基类在 .so 文件中,而我们只是更改成员函数实现,那么是否意味着我们不必重新编译链接到该共享对象的程序?

最佳答案

正式来说,如果您不重新编译,您就违反了单一定义规则,并得到未定义的行为。

实际上,只要您修改的成员函数没有在任何地方内联,并且您没有更改签名,您就可能保持二进制兼容性。在大多数平台上。如果幸运的话,您的平台文档提供了这样的保证。

关于c++ - 基类更改后重新编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9188101/

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