gpt4 book ai didi

c++ - 添加/删除函数静态变量会破坏二进制兼容性吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:40:19 31 4
gpt4 key购买 nike

我必须为我正在处理的这个 C++ 库维护二进制兼容性。

目前,我有类似的东西

class Foo
{
void Bar()
{
static bool flag = true;
}
}

删除 flag 会破坏 Foo 的二进制兼容性吗?

旁白 如果重要的话,我目前的编译器是 VC7.1。

最佳答案

static 变量不是函数接口(interface)的一部分,因此不会影响二进制兼容性。尽管如此,您应该知道,如果函数真的那么简单,它可能已经被内联,在这种情况下,除非您重新编译所有用户,否则您将破坏 ODR。

简单的建议:尽可能重新编译。如果不可能,请确保它没有内联到原始代码中。

关于c++ - 添加/删除函数静态变量会破坏二进制兼容性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15499437/

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