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