ns2的有关问题,关于队列管理算法的。高手帮帮小弟我。多谢

ns2的问题,关于队列管理算法的。高手帮帮我。。。谢谢。
本帖最后由 xianghuxuexia 于 2014-05-26 17:13:30 编辑
我按照这个网上搜的方法添加新队列算法
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
终于又添了一个myred,可以对其进行随心所欲的改动了
具体步骤:  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。测试完毕。 
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
我把sred.cc和sred.h放到了queue下,然后修改了MakeFile,将queue/sred.o加到了OBJ_CC下,然后make出现了错误。请高手指导一下,怎么修改?
 我是新手。。。多谢赐教。。


错误提示:
root@zhangzhuo-desktop:~/ns-allinone-2.35/ns-2.35# make
g++ -c -Wall -Wno-write-strings  -DTCP_DELAY_BIND_ALL -DNO_TK -DTCLCL_CLASSINSTVAR  -DNDEBUG -DLINUX_TCP_HEADER -DUSE_SHM -DHAVE_LIBTCLCL -DHAVE_TCLCL_H -DHAVE_LIBOTCL1_14 -DHAVE_OTCL_H -DHAVE_LIBTK8_5 -DHAVE_TK_H -DHAVE_LIBTCL8_5 -DHAVE_TCLINT_H -DHAVE_TCL_H  -DHAVE_CONFIG_H -DNS_DIFFUSION -DSMAC_NO_SYNC -DCPP_NAMESPACE=std -DUSE_SINGLE_ADDRESS_SPACE -Drng_test  -I. -I. -I/root/ns-allinone-2.35/tclcl-1.20 -I/root/ns-allinone-2.35/otcl-1.14 -I/root/ns-allinone-2.35/include -I/root/ns-allinone-2.35/include -I/root/ns-allinone-2.35/include -I/usr/include/pcap -I./tcp -I./sctp -I./common -I./link -I./queue -I./adc -I./apps -I./mac -I./mobile -I./trace -I./routing -I./tools -I./classifier -I./mcast -I./diffusion3/lib/main -I./diffusion3/lib -I./diffusion3/lib/nr -I./diffusion3/ns -I./diffusion3/filter_core -I./asim/ -I./qs -I./diffserv -I./satellite -I./wpan -o queue/sred.o queue/sred.cc
queue/sred.cc: In member function ‘virtual void SREDQueue::trace(TracedVar*)’:
queue/sred.cc:389: error: invalid conversion from ‘const char*’ to ‘char*’
queue/sred.cc:390: error: invalid conversion from ‘const char*’ to ‘char*’
make: *** [queue/sred.o] 错误 1

------解决方案--------------------
v->name()这个函数返回值如果是char *类型的话
if (((p = strstr((const char *)(v->name()), "curq")) == NULL) &&
    ((p = strstr((const char *)(v->name()), "curq")) == NULL)) {