码迷,mamicode.com
首页 > 其他好文 > 详细

NS3实例分析(1)-- hello-simulator.cc

时间:2015-04-23 09:41:40      阅读:484      评论:0      收藏:0      [点我收藏+]

标签:ns3   hello   

这一节,我们就NS3第一个例子,也是最简单的例子hello 开始学习。

以下是 hello-simulator.cc 的源码:

---------------------------------------------------------------------------------------

#include "ns3/core-module.h"

//声明了一个叫HelloSimulator的日志构件,通过引用HelloSimulator这个名字的操作,
//可以实现打开或者关闭控制台日志的输出。
NS_LOG_COMPONENT_DEFINE ("HelloSimulator");

using namespace ns3;                    //namespace的声明

int main (int argc, char *argv[])
{
  NS_LOG_UNCOND ("Hello Simulator");    //无条件记录相关消息
}

---------------------------------------------------------------------------------------------

./waf 编译后,运行 ./waf --run hello-simulator.cc, 结果如下:

技术分享


本例子很简单,相信有一些C++基础的朋友都很快理解,接下来借该例子再分析一下两点NS3特有的性质。

1、头文件

在编译的过程中,每一个ns-3的include文件被放在build目录下一个叫ns3的目录中,这样做可以避免include文件名的冲突。如果你查看ns3目录会发现大量的头文件。


2、日志

Ns3提供了一个可供选择的、多级别的方法来记录日志。日志可以完全被禁用,或仅对部分组件可用,或全局可用。并且ns3提供了不同详尽程度的日志级别供选。NS-3日志模块提供了直观的、相对简单的使用方法来帮助用户获得仿真过程的所需信息。

在现有的系统中,有7个详尽程度递增的日志级别,他们分别是:
?   NS_LOG_ERROR — Log error messages;
?   NS_LOG_WARN — Log warning messages;
?   NS_LOG_DEBUG — Log relatively rare, ad-hoc debugging messages;
?   NS_LOG_INFO — Log informational messages about program progress;
?   NS_LOG_FUNCTION — Log a message describing each function called;
?   NS_LOG_LOGIC – Log messages describing logical flow within a function;
?   NS_LOG_ALL — Log everything.
?   NS_LOG_ERROR — 记录错误信息;
?   NS_LOG_WARN — 记录警告信息;
?   NS_LOG_DEBUG — 记录相对不常见的调试信息;
?   NS_LOG_INFO — 记录程序进展信息;
?   NS_LOG_FUNCTION — 记录描述每个调用函数信息;
?   NS_LOG_LOGIC – 记录一个函数内描述逻辑流程的信息;
?   NS_LOG_ALL — 记录所有信息.
我们也提供了一种一直被使用的无条件日志级别,它是跟日志详尽级别或是组件选择无关的。
?   NS_LOG_UNCOND – 无条件记录相关消息.

每一个级别能够被单独地被调用或逐级递增的被调用。


本人也是刚开始学习,有什么地方不对,请各位朋友多多指正,互相学习才能共同进步。

NS3实例分析(1)-- hello-simulator.cc

标签:ns3   hello   

原文地址:http://blog.csdn.net/liuruiqun/article/details/45204813

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!