ns3学习之旅 ObjectBase类

本文是关于ns3网络模拟器学习的笔记,重点介绍了ObjectBase类如何处理属性配置和trace变量。内容涵盖属性创建、ConfigStore的使用,以及如何创建和使用trace变量,包括不同类型的trace回调函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下内容是基于《开源网络模拟器ns3 架构与实践》的学习笔记

 属性----参数配置

trace变量----数据输出功能

ObjectBase类统一定义以上变量的配置函数。

一、属性配置

1、属性创建以及类型

属性本质上是一个C++类的成员变量。属性系统是链接属性和成员变量的桥梁,由元信息的属性辅助信息和其相应的读写函数组成。

先用GetTypeId()函数获取所要操作类的TypeId对象,再用AddAttribute()函数添加属性辅助信息。其中,属性辅助信息主要有:

  1. 属性名:一个属性在类中的唯一标识
  2. 默认的属性值
  3. 关联属性和成员变量的关联函数。主要是关联辅助信息与私有成员变量,并将属性访问函数指针存贮在属性辅助信息中,以便访问私有成员变量。

一个类的属性在不同对象中可以有不同的取值,但都共用同一组属性辅助信息。

属性类型有多种,比如BooleanValue等。

2、ConfigStore

ConfigStore是属性配置中一个重要的C++类,用于保存和读取脚本中使用过的属性值。它是ObjectBase类的子类,有三个属性:Mode、Filename和FileFormat。

1)属性保存

需要包含的头文件:

#include "ns3/config-store-module.h"

使用Config::SetDefault()函数设置Mode、Filename和FileFormat。例如:

Config::SetDefault("ns3::ConfigStore::Filename",String

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值