ns3加入模块之vanet-highway
在网上搜了下加入模块的教程,搜到了一个帖子:ns3加入模块 ,可是这个帖子只给出了如何加入的步骤。我认为写的比較简单,当我们须要加入别的模块时就不知道如何操作了。
所以,我写这个帖子,会将非常多遇到的细节问题和原因展现出来。
vanet-highway,这个模块是Bradley Dupont在Arbabi, Weigle的基础上进行改进的模块代码,使用了xml文件以及增加了很多其它的场景因素,详细能够參见相关文档。代码文档和介绍文档能够在google code中下载:谷歌code下载链接 ,有些不能翻墙的同学下载不了,我上传一份到csdn上:csdn代码下载
。这份代码来自于谷歌的ns3论坛:谷歌论坛代码下载,相对于google code中的代码更加符合module的目录分类。
分模块编译,能够參考这个帖子:ns3模块编译,用一个简单的样例。教你如何加入模块。ns3的官方也有教程。在ns3-manual中。ns3.20是在第18.2节:Adding a New Module to ns-3. 详细就不翻译了,非常好的參考资料。有一个python文件能够帮助你生成模块的相关文件和文件夹:
./create-module.py new-module
vanet-highway中是给了样例的。为了跑这个样例。在加入好模块之后(直接新建一个文件,然后将上述压缩文件拷贝进去就能够了)。然后须要使用waf来编译模块,在编译模块的过程中。因为ns3版本号的不断升级,ns3.15的使用方法和ns3.20的使用方法已经产生了一些改变,如今把编译过程中的一些问题(编译使用./waf),依照先后问题,做记录,以作參考:
1.(.text+0x18):对‘main’没有定义的引用。这个是我自己加入測试模块时。main函数拼写错误造成,还有可能是文件有没有保存。
2.BuildContext'
object has no attribute 'new_task_gen',对照一下文件,就知道新版的wscript的写法做了改变。例如以下改动就可以:
#headers = bld.new_task_gen(features=['ns3header'])
headers = bld(features='ns3header')
3.../src/vanet-highway/model/WifiConfigurationXml.h:50:36: error: ‘WIFI_PHY_STANDARD_80211p_CCH’ was not declared in this scope
使用谷歌搜索,搜索到了这个文件:http://www.nsnam.org/~pdbarnes/doxygen/wifi-phy-standard_8h_source.html,依照这个文件把这两个变量加入进去就可以。注意改动src中的代码。否则cleanproject之后又会丢掉。
4.../src/vanet-highway/model/Highway.cc:255:85:
error: ‘min’ was not declared in this scope
查看这个文件。math.h中没有这个函数,用fmin函数取代这个函数。
或者使用#include <algorithm>,然后用std::min来取代
5../src/vanet-highway/model/Highway.cc:83:28:
error: expected type-specifier before ‘list’
在list前面加一个std::list。
6.程序的执行方式,能够自己阅读样例程序。也能够參见:https://code.google.com/p/ns-3-highway-mobility/wiki/HighwayMobilityAndVehicularNetworksInNs3#How_To_Run
7.生成了文件vehicleTrace.csv和networkTrace.csv,详细含义。也能够在wiki中查看。
剩下的是分析代码,以及尝试用netanim来绘出车辆的运动轨迹。google
code中还提供了一个vehicle viewer代码。能够尝试使用下。
ns3加入模块之vanet-highway的更多相关文章
- ns3 Tutorial 中的日志模块(翻译)
转载地址:http://blog.sina.com.cn/s/blog_8ecca79b0101d7fe.html 1 日志模块的使用 在运行 first.cc 脚本时,我们已经简单 ...
- LTE 测试文档(翻译)
Testing Documentation 翻译 (如有不当的地方,欢迎指正!) 1 概述 为了测试和验证 ns-3 LTE 模块,文档提供了几个 test suites (集成在 ns- ...
- LTE Module User Documentation(翻译4)—— 使用 Fading Trace
LTE用户文档 (如有不当的地方,欢迎指正!) 7 使用 Fading Trace 本节描述如何在 LTE 仿真中使用 fading traces . (1)生成 Fading Traces ...
- LTE Module User Documentation(翻译1)——背景、使用概述、基本的仿真程序和配置LTE模型参数
LTE用户文档 (如有不当的地方,欢迎指正!) 1.背景 假定读者已经熟悉 ns-3 simulator ,能运行一般的仿真程序.如果不是的话,强烈推荐读者参考 [ns3tutorial]. 2. ...
- (五岁以下儿童)NS3样本演示:桥模块演示样品csma-bridge.cc凝视程序
(五岁以下儿童)NS3:桥模块演示样品csma-bridge.cc凝视程序 1.Ns3 bridge模csma-bridge.cc演示示例程序的目光 // Network topology // // ...
- 在 ns-3.25中添加 plc(电力线载波) 模块
上一篇安装好了 ns-3.25,这里继续往里添加 plc 模块.整理之前现推荐一个网站,大家可以参考. 英属哥伦比亚大学(University of British Columbia,UBC)提供NS ...
- NS3 日志(Logging)、命令行参数、Tracing系统概述(转载)
NS-3日志子系统的提供了各种查看仿真结果的渠道: 一.使用Logging Module 1 [预备知识]日志级别及其对应的宏 NS-3 提供了若干个日志级别来满足不同的 Debug 需求,每一级的日 ...
- 读Zepto源码之Event模块
Event 模块是 Zepto 必备的模块之一,由于对 Event Api 不太熟,Event 对象也比较复杂,所以乍一看 Event 模块的源码,有点懵,细看下去,其实也不太复杂. 读Zepto源码 ...
- Ubuntu12.04下安装NS3.25
实验室项目的需求,要使用到NS3做仿真,使用实验室的电脑,Ubuntu12.04,版本比较低,建议大家使用16.04,这样安装依赖文件时不会出现版本过低的问题 (没管最后也安装成功了).下面就安装步骤 ...
随机推荐
- django日志的设置
关于django的日志设置详细可以看下官方文档:https://yiyibooks.cn/xx/Django_1.11.6/topics/logging.html 示例: # 日志文件配置 LOGGI ...
- Selenium2+python自动化46-js解决click失效问题【转载】
前言 有时候元素明明已经找到了,运行也没报错,点击后页面没任何反应.这种问题遇到了,是比较头疼的,因为没任何报错,只是click事件失效了. 本篇用2种方法解决这种诡异的点击事件失效问题 一.遇到的问 ...
- docker从零开始网络(二)桥接网络
使用桥接网络 在网络方面,桥接网络是链路层设备,它在网络段之间转发流量.桥接网络可以是硬件设备或在主机内核中运行的软件设备. 就Docker而言,桥接网络使用软件桥接器,该软件桥接器允许连接到同一桥接 ...
- rosbag使用--记录深度相机数据
首先看一下教程: http://wiki.ros.org/openni_launch/Tutorials/BagRecordingPlayback 知道了rosbag如何进行使用记录深度数据 但是按照 ...
- firefox中outlook.com页面卡顿的原因
在火狐中使用outlook.com时,鼠标点击动作后,页面会卡顿一段时间,每次点击都是如此. 因为之前火狐出现由于硬件加速导致页面卡顿的情况,因此第一反应就是关闭硬件加速. 果然,关闭硬件加速后,页面 ...
- 使用moneykey对APP进行健壮性测试
注意:moneykey对app按钮伪随机点击,只能测试app稳定性和健壮性,无法进行常规测试 1.安装 A.jdk(不详细介绍) B.安装配置android配置环境:Android Studio 此环 ...
- [ThinkPHP] 模板输出 时间格式 Unix时间戳
{$create_time|date="y-m-d",###}
- codeforces 869A The Artful Expedient【暴力枚举/亦或性质】
A. time limit per test 1 second memory limit per test 256 megabytes input standard input output stan ...
- Cocos2dx-Lua UIScrollView 和 UITableView 对比
为什么写这个 上面这个问题的答案也是我写这篇文章的初衷,在最近给游戏添加一些列表的时候,对比着应用了一下他们两个,在它们两个之间的优劣势之间进行取舍,就有了这个问题的答案. 按照我一个iOS开发而言, ...
- 【单调队列】bzoj1047 [HAOI2007]理想的正方形
先把整个矩阵处理成b[n][m-K+1].c[n][m-K+1]大小的两个矩阵,分别存储每行每K个数中的最大.最小值,然后再通过b.c处理出d.e分别表示K*K大小的子矩阵中的最大.最小值即可.单调队 ...