如何在 ns2 中添加无线跟踪格式的字段?

how to add a field in wireless trace format in ns2?

我正在努力在 ns2 的现有能量格式中添加一个字段。 默认格式类似于 [energy 999.899140 ei 0.100 es 0.000 et 0.000 er 0.001]。我想在现有格式中添加另一个字段 Erel,例如 [energy 999.899140 ei 0.100 es 0.000 et 0.000 er 0.001 erel 及其值 ]。 我在energy-model.cc and .f filescmu-trace.cc and .h文件中添加了erel的函数和计算方法。 执行 make 后没有显示任何错误;即使我没有在跟踪输出中找到添加的变量。

有人在 ns2 中进行跟踪吗?请帮助我。

也许 ns-2.35/tcl/lib/ns-* 中需要一些条目?不确定您在 [file].cc 中完成的 "fprint" 条目是否可以独立存在。

例如ns-lib.tcl :此处显示默认条目 ...

  1384  # If exists a traceAllFile_, print $str to $traceAllFile_
  1385  Simulator instproc puts-ns-traceall { str } {
  1386      $self instvar traceAllFile_
  1387      if [info exists traceAllFile_] {
  1388          puts $traceAllFile_ $str
  1389      }
  1390  }

能量:

$ grep -n energy *                                 
ns-lib.tcl:323:#                  -energyModel    "EnergyModel"
ns-lib.tcl:357:Simulator instproc energyModel  {val} { $self set energyModel_  $val }                                                             
ns-lib.tcl:607:     energyModel_ initialEnergy_ txPower_ rxPower_ \
ns-lib.tcl:736: if [info exists energyModel_] {
ns-lib.tcl:747:         $node addenergymodel [new $energyModel_ $node \
ns-lib.tcl:1292:Simulator instproc energy-color-change {level1 level2} {
ns-lib.tcl:1341:        $self instvar energyModel_ 
ns-lib.tcl:1343:        if [info exists energyModel_] {

已成功添加无线跟踪文件格式的字段。 在 modification/addition 方法、类、文件、函数 .... 等之后。 make 应该执行为, $ make clean $ make $ make install 然后,它编译所有 modified/added values/fns.