快乐虾
http://blog.csdn.net/lights_joy/
欢迎转载,但请保留作者信息
出于对兼容性的考虑,在此选择python-2.7.9,win32版本,而不是最新的3.x版本。
安装目录为c:\python27
这个就没什么可说的了。
PTVS是ms提供的一个python插件,我用的是2.2,安装完成后可以在VS2013的扩展与更新中看到它:
接下来需要让PTVS能够使用我们安装的python-2.7.9,打开VS2013的参数配置,加上python-2.7.9的支持:
NS3的官方版本并不支持VS2013的编译器,仅仅给出了一个古老的在vs2010下编译的链接,而且很久没有更新了,并不支持最新的ns3.23。不过这个难不住我们,只需要在vs2013下创建DLL工程并加上相应目录下的源文件,中间除了有些简单的C++语法不太一致需要少量修改外,几乎没费多少力气就得到了我们想要的工程:
在NS3中,每一个DLL都对应地有一个_py的工程,用于将此DLL中的类导出到python中,这里需要注意的是这个_py工程中的C++代码是动态生成的,而不是一开始就有的,可以使用类似于:
python bindings\python\ns3modulegen-modular.pysrc\point-to-point gcc_ILP32 ns.point_to_pointsrc\point-to-point\bindings\module.cc
这样的命令生成。
而后再把生成的module.cc加入到相应的工程里面就可了。
NetAnim的编译就比较简单了,只不过需要事先安装Qt-4.8.6,然后直接用qmake编译NetAnim提供的pro文件就可以了。
编译好的NetAnim和NS3的Python扩展可以在CSDN(http://download.csdn.net/detail/lights_joy/8878009)下载,使用时直接将压缩包里的ns目录复制到c:\python27\lib\site-packages\目录下就可以了(关于PTVS的更详尽说明请参考之前的文章)。最后更新一下PTVS的IntelliSense,而后就可以创建Python工程使用了。
在NS3的源码包中提供了一个叫first.py的示例代码,就拿它来测试一把。
直接创建一个python项目并加入first.py,并设置为启动脚本。
看看编辑的功能:
再试试调试:
呵呵,VS还是很强大的!
直接运行,平平无奇,也没有什么输出。
在仿真开始前加上Animation的代码:
anim= ns.netanim.AnimationInterface(‘first.xml‘)
ns.core.Simulator.Run()
ns.core.Simulator.Destroy()
再运行这个脚本,可以发现在工程目录下生成了我们想要的first.xml文件,接着NetAnim上场,直接打开这个生成的first.xml:
由于first.py这个脚本里面没有对节点的属性做任何配置,因此显示出来的结果就有那么点奇怪了,不过这至少说明我们的开发环境配置基本没有什么问题了!
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/lights_joy/article/details/46820741