模拟脚本的完整编写顺序【1-9】
1. 头文件
头文件命名规范:"<模块名>-module.h"
头文件所在目录:【build/ns3】
常用头文件如下:
#include "ns3/core-module.h" // 定义了ns-3的核心功能(如模拟事件、事件调度),必须包括
#include "ns3/network-module.h" // 定义了ns-3的基本网络组件(如网络结点、分组和地址等),必须包括
#include "ns3/internet-module.h" // 定义了TCP/IP协议栈
#include "ns3/applications-module.h" // 定义了应用层的分组收发模型(如贪婪模型、ON/OFF模型等)
#include "ns3/point-to-point-module.h" // PPP模块
#include "ns3/csma-module.h" // CSMA模块
#include "ns3/wifi-module.h" // Wi-Fi模块
#include "ns3/mobility-module.h" // 移动模块
2. 命名空间
using namespace ns3;
3. NS_LOG_COMPONENT_DEFINE
下面这行代码的作用是允许在该脚本中使用Log系统中的宏定义打印辅助信息,如打印调试信息的NS_LOG_DEBUG和打印错误信息的NS_LOG_ERROR宏等
NS_LOG_COMPONENT_DEFINE ("FirstScriptExample");
尽管这是一个可选步骤,但建议添加,因为这些辅助信息对调试代码和了解模拟流程有用
4. main()函数中的准备工作
从这一步开始,后续操作均在main()函数中完成
CommandLine cmd;
cmd.Parse (argc, argv)