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,这样安装依赖文件时不会出现版本过低的问题 (没管最后也安装成功了).下面就安装步骤 ...
随机推荐
- [ 总结 ] Linux 下文件描述符
1.概述: 文件描述符是内核为了高效管理已被打开的文件所创建的索引.是一个非负整数,用于代指被打开的文件.所有通过I/O操作的系统调用都通过文件描述符. 文件描述符用以表明每一个被进程所打开的文件和s ...
- WPF第三方控件盘点
WPF统一的编程模型.语言和框架,实现了界面设计人员和开发人员工作可以分离的境界,鉴于WPF强大的优势,且一直是开发者关注的地方,下面和大家分享基于WPF项目开发需要用到的第三方控件,包括业界最受好评 ...
- delphi.memory.分配及释放---New/Dispose, GetMem/FreeMem及其它函数的区别与相同,内存分配函数
来自:http://www.cnblogs.com/qiusl/p/4028437.html?utm_source=tuicool&utm_medium=referral ---------- ...
- Selenium2+python自动化69-PhantomJS使用【转载】
前言 PhantomJS是一个没有界面的浏览器,本质上是它其实也就是一个浏览器,只是不在界面上展示. PhantomJS非常适合爬虫方面,很多玩爬虫的都喜欢用这个浏览器. 一.PhantomJS环境准 ...
- linux下命令行文件路径隐藏
https://askubuntu.com/questions/16728/hide-current-working-directory-in-terminal 在~.,bashrc里添加 expor ...
- Codeforces 626 B. Cards (8VC Venture Cup 2016-Elimination Round)
B. Cards time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...
- 遇见requestAnimationFrame
今天,在读javascript异步编程的js事件深入理解部分的时候,了解到了requestAnimationFrame 这个api,在这里记录一下. 原文: setTimeout 和 setInter ...
- POJ1128 (TopSort)(递归)(回溯)
Frame Stacking Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 5220 Accepted: 1809 De ...
- order by 中利用 case when 排序
order by case when a.ShopNumber in(1,2,3) then 0 else 1 end
- P3197越狱
花费了好长时间,终于刷掉了这道题. 题目在这里(洛谷) (信息学奥赛一本通) 嗯,没错,这是一道快速幂的题,不会快速幂点这里 好现在开始分析,这道题用小学奥数的思想就可以想到,直接算有多少种可能比较 ...