Object .msg 文件中的指针

Object pointer in .msg file

我目前正在实施一个调度程序,我需要关于每个帧的信息比消息及其标准 headers 携带更多的信息。我创建了一个包含所有信息的 Object,现在我想添加一个指向指向信息 object 的 .msg 文件的指针。 .msg 文件用于稍后将信息标记到框架中。

为此我创建了一个新的消息文件。

cplusplus{{
#include "inet/common/TagBase_m.h"
#include <cstdint>
}}

class noncobject inet::TagBase;

namespace nesting;

class FilterTag extends inet::TagBase
{
    intptr_t streamFilterID; 
    simtime_t etT; 
    simtime_t startTime; 
    simtime_t endTime;  
}

不幸的是,INET v4.1.2 不允许立即添加指针。这就是为什么我尝试通过包含 <cstdint> 来调用我的指针并添加 intptr_t 的原因。但是,这样做时我遇到了这个错误:

Error: unknown type 'intptr_t' for field 'streamFilterID' in 'FilterTag'

看来我的导入没有像我想的那样工作。我将如何设法让我的 .msg 文件识别 intptr_t ?有没有更好的方法来完成我想做的事情?

将以下行添加到您的消息定义中:

class noncobject intptr_t;

它告诉消息编译器 intptr_t 是外部类型。