ns3第一个项目(first.cc)

该仿真脚本的网络场景非常简单,只是在2个节点间创造一个简单的点到点通信。

源代码

  • GPL开源协议,一般会在上方看到一个相关机构的版权声明,而在GPL内容的下方会有相应的作者信息。
 * -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/*
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation;
 *  * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *  * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
  • 头文件:为了帮助高层用户处理大量系统中的include文件,会把所有的文件根据模块功能进行大致的分类,提供按大致功能分类的一组include文件,在使用时只需要包含几个头文件即可。在编译过程中,每个ns-3的include文件被放在build目录下一个叫做ns3的目录中,这样可以避免include文件名的冲突。ns3/core-module.h与src/core目录下的ns-3模块相对应。当你编译时,waf会根据配置把在ns3目录下的公共的头文件放到build/debug或者build/optimized目录下。waf也会自动产生一个模块include文件来加载所有的公共头文件。
 #include "ns3/core-module.h"
#include "ns3/network-module.h"
#include "ns3/internet-module.h"
#include "ns3/point-to-point-module.h"
#include "ns3/applications-module.h"
  • ns-3命名空间:c++用using来把ns-3命名空间引入到当前的(全局的)声明中,这个声明就是说,你不用为了使用ns3的代码而必须在所有的ns-3代码前打上ns3::作用域操作符。
using namespace ns3;
  • 日志:
NS_LOG_COMPONENT_DEFINE ("FirstScriptExample");

查阅API文档,可以看到 NS_LOG_COMPONENT_DEFINE原来是如下宏定义,该语句的定义语句出现在log.h头文件中,功能是用特殊的名字定义一个日志组件。语句实际是生成一个LogComponent类型的对象g_log,并且通过构造函数LogComponent(name)初始化,变量name通过宏定义传递参数。

#define NS_LOG_COMPONENT_DEFINE(name)                           \
  static ns3::LogComponent g_log = ns3::LogComponen
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值