gpt4 book ai didi

c++ - const ints as Message IDs = 重新编译一切

转载 作者:太空狗 更新时间:2023-10-29 21:50:04 24 4
gpt4 key购买 nike

我希望确认我刚刚告诉别人的话。我们有一个大型软件项目,分为几个库 (.so)。消息定义都在一个库中,带有一组用于声明的 .h 文件。消息 ID 在 .h 中作为 const int(见下文)。一个使用 id 来订阅/发布消息。

他们不得不去重新编号消息 ID。他们只是希望能顺便参观一下新图书馆。

我说过他们必须重新编译所有使用该库的源代码。

默认情况下,Const 对象是内部链接的,因此使用 id 的外部代码链接到库更改的对象,而是一个现在不同步的简单整数图书馆。

我非常确定我是对的......还是我都湿了?

namespace AppsMessages
{

const DataClassID_t CommandReqId(120097);

class CommandRequestMessage { ... };
}

最佳答案

你是对的。

更好的设计(至少在减轻像这个这样的维护噩梦方面)是在 header 中声明这些 ID 对象extern,然后定义 它们曾经出现在库源中。然后,您只需要访问新图书馆即可。

关于c++ - const ints as Message IDs = 重新编译一切,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6944419/

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