由于ns2具有的开源的特性,所以各式各样的仿真平台被开发。为了更好的使用和管理这些不同的仿真平台,只需要在官网给出的ns-allinone-2.35(我的版本)的基础上生成相应的补丁,然后使用者只需要简单的两步操作就可以使用别人的平台了。
补丁的生成:
1.清除源文件夹ns-2.35(我们自己开发的文件夹)中的相应的仿真结果,例如trace.、txt等等,这样做的目的是为了补丁的精简性。
2.在源文件夹ns-2.35下执行make clean,然后打开此文件夹下的makefile和makfile.in这两个文件,在makefile中找到我们新添加的.o并且在makefile.in相应的位置添加这些文件,保存后删除makefile。
3.创建一个新的文件夹,例如ns-patch,将上一步的ns-2.35文件夹复制到此文件夹下。
4.重新解压一个新的原始的ns-2.35-allinone(解压时注意别把新开发的覆盖掉,可以将新开发的重命名为ns-2.35-allinone-new之后再解压),执行./install。安装完成后执行make clean,将ns-2.35复制到ns-patch下,并改名为ns-2.35-org。
5.进入到ns-patch中执行:diff -uNrans-2.35-org ns-2.35 > 补丁文件名.patch,成功后就会生成我们想要的补丁包了。此时,生成补丁就完成了。
打补丁:
1.重新解压一个原始的ns-allinone-2.35,将补丁包复制到此目录下,执行:patch -p0 < 补丁文件名.patch。
2.执行./install等着安装成功。
验证正确性:安装完成后运行一个我们自己写的个.tcl验证是否正确,如果不正确,可能原因是补丁生成的第2步中makefile.in中没有完全添加.o,检查后重新操作一遍就好。
这样生成补丁和打补丁就搞定了。