#c #omnet #inet
Вопрос:
В настоящее время я внедряю планировщик, для которого мне нужно больше информации о каждом кадре, чем содержится в сообщении и его стандартных заголовках. Я создал объект, содержащий всю информацию, и теперь я хочу добавить указатель на файл .msg, указывающий на объект informatino. Файл .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 не позволяет добавлять указатели из коробки. Вот почему я попытался изменить свой указатель и добавить вместо него, включив. intptr_t
<cstdint>
Однако при этом я сталкиваюсь с этой ошибкой:
Ошибка: неизвестный тип «intptr_t» для поля «streamFilterID» в «Теге фильтра»
Похоже, мой импорт работает не так, как я думал. Как бы мне удалось заставить мой файл .msg распознавать intptr_t
? Есть ли лучший способ сделать то, что я пытаюсь сделать?
Ответ №1:
Добавьте следующую строку в определение вашего сообщения:
class noncobject intptr_t;
Он сообщает компилятору сообщений, что intptr_t
это внешний тип.
Комментарии:
1. Можете ли вы указать мне на документацию по этому вопросу ? Я еще не нашел его в Интернете.
2. Вот вы где: Руководство по моделированию .