最近在研究队列管理算法,想通过NS2先学习一下如何添加新的队列管理算法(重新添加RED1算法,算法本身和原有RED无区别只不过名字不同而已),从网上找到了一种方法,按给出的方法试着去添加队列管理算法,底层编译没有出现错误,也生成了.o文件,但是在TCL脚本中调用添加的新算法时出现若干错误?
网上给出的方法如下:
1. 将要添加的队列,如Fred.h和Fred.cc复制到C:/cygwin/home/acer/ns-allinone-2.27/ns-2.27/queue,此文件夹下集中了许多队列算法。
2. 修改C:/cygwin/home/acer/ns-allinone-2.27/ns-2.27/tcl/lib目录下的ns-default.tcl 对新增加的队列进行一些参数的初始化。
3. 修改C:/cygwin/home/acer/ns-allinone-2.27/ns-2.27下的makefile文件,将queue/Fred.o加入到OBJ_CC内,如果还不行的话,可以修改makefile.vc,同样是添加queue/fred.o。
4. 在Cygwin窗口中ns-allinone-2.27/ns-2.27下执行make命令进行重新编译。
5. 重新编译成功,则在C:/cygwin/home/acer/ns-allinone-2.27/ns-2.27/queue下发现新产生Fred.o文件
6. 执行测试ns sim.tcl,将其中的队列算法改为新增加的队列算法Fred
7. 测试完毕。
按上述方法make一下没有出现问题,但在TCL脚本调用RED1时出现了如下的问题。
- 有可以帮我解答一下的,在下万分感激!