const int作为消息ID =重新编译一切

我希望确认我刚刚告诉某人。 我们有一个大型软件项目被分成几个库(.so)。消息定义全部位于一个库中,其中包含一组用于声明的.h文件。消息ID位于.h中,类似于const int(见下文)。一个使用该id来订阅/发布消息。const int作为消息ID =重新编译一切

他们必须去重新编号消息id。他们希望刚刚进入新图书馆。

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

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

我觉得我很确定我对此是否正确......还是我都湿了?

namespace AppsMessages 

{

const DataClassID_t CommandReqId(120097);

class CommandRequestMessage { ... };

}

回答:

你是对的。

更好的设计(至少在减轻维护恶梦像而言,这一个)。将声明这些ID在头对象extern,和在库源限定它们一次。那么你只需要放入新的图书馆。

以上是 const int作为消息ID =重新编译一切 的全部内容, 来源链接: utcz.com/qa/264016.html

回到顶部