Ubuntu下ns2中生成补丁和打补丁方法

来源:互联网 发布:人工智能技术 知乎 编辑:程序博客网 时间:2024/05/22 15:58

由于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,检查后重新操作一遍就好。

这样生成补丁和打补丁就搞定了。