omnet veins 错误No packet was ready
来源:互联网 发布:那曲网络怎么样 编辑:程序博客网 时间:2024/06/08 16:35
最近在使用omnet的veins 时候出现错误,如下所示:
<!> Error in module (Mac1609_4) scenario.node[1579].nic.
在release模式下出现的错误,在debug模式下没有这个错误。
写了一些输出语句,对比如下:
1. debug模式下,13e-6 的double型正常转变为 0.000013.
2.release模式下,13e-6 的double型正常转变为 0.000012999999.
问题解释:
release模式下,由于优化,导致double本身在表示数据时候的准确度丢失,比如
0.5=2(-1);0.5就可以准确表示,但是0.1就不能完全由二进制数准确表示,于是产生准确度丢失。
解决方法:
一般的,可以将double转变成整型来处理。因为所有的整型数据都可以完全准确表示成二进制数据的组合。
omnet中,有相应的处理方法,simtime的setRaw()方法,就可以很好的解决这个问题。
如 SimTime().setRaw(13000000),就能够准确的表示 13e-6。于是本人将<Consts80211p.h>中的所有 有关802.11p的物理层参数改成上述setRaw方法。
bug得到解决。
本来想向veins反应此种情况,后来在最新的版本中,发现他们已经解决这个bug,把<Consts80211p.h>文件改了,同时把mac1609也改了。
- omnet veins 错误No packet was ready
- Ubuntu 14.04+SUMO+Veins+OMNet++
- Ubuntu14.04--SUMO--Omnet++和Veins
- OMNET++/Veins VANET仿真:SUMO场景生成
- OMnet++两个错误
- OMNET++错误解决
- OMNeT++ 安装错误解决
- 错误Communications link failure,The last packet successfully received from the server was的解决方法
- omnet++
- Veins modules
- Veins-lanuch
- mysql send packet larger错误
- Cocoa编程错误问题:loaded the XX nib but no view was set.
- django 配置mysql错误:Error was: No module named mysql.base
- django 配置mysql错误:Error was: No module named mysql.base
- django 配置mysql错误:Error was: No module named mysql.base
- velocity 配置toolbox:No toolbox was found错误的一种可能解释
- repo: no branches ready for upload
- Oracle的日期时间 to_date和to_char
- js数组判断提交数据是否存在相同数据
- 大话数据结构心得:(二)算法
- C++的异常处理
- 1.游戏服务器相关技术
- omnet veins 错误No packet was ready
- POJ1785(笛卡尔树的构造)
- 备库启动redo应用
- Git入门教程(二):分支的使用
- JRebel安装使用说明
- 53. 在Lotus Notes中删除文档的功能
- hdu 4709 Herding
- 初读《windows程序设计》
- 初步接触TinyXML2