转自http://blog.csdn.net/and_w/article/details/61430056

网站

这里有一些任何 ns-3 用户都必须了解的重要资源。主站点位于 http://www.nsnam.org 提供 ns-3 系统的基本信息。详细文档位于 http://www.nsnam.org/documentation/ 。你也能在本页发现有关系统架构的内容。

http://www.nsnam.org/wiki/ 是 ns-3 主站点补充内容的 WiKi。你可以在此找到用户和开发者的 FAQ,当然也有故障排除指南、第三方贡献代码、论文等。

源代码可以在 http://code.nsnam.org 找到。你可以在名为 ns-3-dev 的仓库下找到当前开发树。你也可以发现以前的发行版本和核心开发者的试验性仓库。

Mercurial

复杂的软件系统需要一些方法来管理对底层代码和文档的组织和更改。有许多方法可以完成这一壮举,你可能已经听说过一些能够完成这件事的系统。并行版本系统(Concurrent Version System,CVS)可能其中是最有名的。

ns-3 项目使用 Mercurial 作为她的源代码管理系统。完成本教程你并不需要对 Mercurial 了解很多,但我们还是推荐你熟悉 Mercurial 并使用它访问源代码。Mercurial 的网站在 http://www.selenic.com/mercurial/,从该站点你可以获得这个软件配置管理(Software Configuration Management,SCM)系统的二进制或源文件。Selenic(Mercurial 的开发者)也提供了教程,和快速开始指南。

你可以在 ns-3 主站点发现关于使用 Mercurial 和 ns-3 的重要信息。

Waf

一旦源代码下载到你的本地系统,你就需要编译该源文件以产生可用的程序。就像源代码管理一样,也有很多工具能够执行这一功能。最出名的工具可能是 make。虽然 make 非常出名,但在大型高度可配置化系统中 make 非常难用。由于这个原因,其他的替代工具被开发出来了。最近一段时间这些系统被用 Python 语言开发出来了。

编译系统 Waf 被用在 ns-3 项目上。它是新一代基于 Python 的编译系统之一。编译现有的 ns-3 系统,你并不需要任何 Python 知识。

如果你想了解关于 Waf “血淋林的”细节,可以访问其主站点 http://code.google.com/p/waf/ 。

开发环境

如上所述,ns-3 上的脚本是用 C++ 或 Python 完成的。 大多数 ns-3 的 API 在 Python 上可用,但模型都是用 C++ 完成的。 本文档假设用户具有 C++ 和面向对象概念方面的应用知识。 我们将花一些时间来回顾一些更加高级的概念或一些可能不太熟悉的语言特性、语言风格和设计模式。 我们不希望本教程变成 C++ 教程,因此我们希望有一个语言的基本命令。有几乎难以想象的 C++ 资源在网络上和印刷品上。

如果你是 C++ 新手,你可能想找一个基于教程或者指导手册的书或网站,并在继续本教程之前至少攻克这门语言的基本特性。例如,学习这个教程。

ns-3 系统采用 GNU “工具链” 的几个组件作为开发工具。 软件工具链是一组在给定环境中可用的编程工具。对于 GNU 工具链包含什么,参看 http://en.wikipedia.org/wiki/GNU_toolchain 。 ns-3 使用了 gcc、GNU binutils 和 GDB 。但是,我们不用 GNU 构建系统工具,既不用 make 也不用 autotools。我们使用 Waf 来完成这些功能。

通常,ns-3 的作者在 Linux 或类 linux 环境下工作。对于那些在 Windows 下运行的,确实存在在某种程度上模拟 linux 环境的环境。 ns-3 项目在过去(但不是现在)确实支持在 Cygwin 环境下开发。 对于下载的细节,参见 http://www.cygwin.com/,访问 ns-3 维基了解 Cygwin 和 ns-3 的详细信息。MinGW 目前没有正式支持。Cygwin 的另一个替代方案是安装虚拟机环境,如 VMware,并安装 linux 虚拟机。

Socket 编程

在本教程的示例中我们将假定使用基本的伯克利套接字(Berkeley Socket)API。如果你对使用 socket 还很陌生,我们建议你查看其 API 和常见用法。阅读 TCP/IP Sockets in C, Donahoo and Calvert 一书可以对 TCP/IP socket 编程有一个很好的概观,我们推荐你阅读。

有一个包含该书例子源码的站点:http://cs.baylor.edu/~donahoo/practical/CSockets/ 。

如果你理解了该书的前四章,你将会很好地理解本教程。对于组播 socket 也有一本相似的书 Multicast Sockets, Makofske and Almeroth 。 它涵盖了你可能需要了解的资源,如果你看了组播示例。


ns-3 教程 —— 资源相关推荐

  1. 拳王虚拟项目公社:知识付费之出售虚拟教程资源赚钱,小白轻松赚钱的方式

    现在这个年代,很多人都在抱怨挣钱如抓鬼,花钱如流水: 什么都在涨,就是收入不涨:因此在工作之余再发展自己的副业就成了很多人的追求: 目标不大,先赚他1w元再说: 因此就这样,很多人就开始接触了网上赚钱 ...

  2. JavaFX教程资源

    JavaFX教程资源 http://www.javafxchina.net/main/ https://www.yiibai.com/javafx https://code.makery.ch/zh- ...

  3. 高效上网教程---资源软件搜索技巧(搜索好用软件或者app去哪些网站)

    高效上网教程---资源软件搜索技巧(搜索好用软件或者app去哪些网站) 一.总结 一句话总结:查看下面这些网站用户推荐的 知乎:比如 小众软件 site:zhihu.com 简书:查看你需要的用户推荐 ...

  4. 拳王虚拟项目公社:0成本卖虚拟教程资源,月入2万的兼职副业项目

    相信很多人都有这样的经验,领导让你做一份PPT,你不会,你会上网搜"PPT教程".遇到女友让你给她修一张美美的照片,你不会,你会偷偷上网搜"PS教程",诸如此类 ...

  5. 十大免费教程资源帮助新手快速学习JavaScript

    "JavaScript"的名头相信大家肯定是耳熟能详,但只有一小部分人群了解它的使用与应用程序构建方式.这"一小部分"人指的当然是技术过硬的有为青年.网络程序员 ...

  6. ue4 开发动作游戏_ue4游戏开发虚幻4学习教程资源素材合集

    虚幻4 ue4商城 ue4场景 素材 模型 动作 蓝图 动画 2019最新超值合集资源包 游戏开发 2019最全素材 包含虚幻中国 荒岛求生案例视频教程 和官方中文翻译教程 UE4官方商城精品合集!含 ...

  7. 学无止境的CSS(xHTML+CSS技巧教程资源大全)

    本文里面收集一些有关CSS的技巧.教程.工具和观点等,其中一些你也许早就运用的炉火纯青,也可能有的你听都没听说过.不管是新手还是高手,大家都继续学习吧. 一,Web 标准 要玩游戏,就得先了解规则.要 ...

  8. 60+CSS技巧教程资源大全

    一,Web 标准 要玩游戏,就得先了解规则.要学CSS,就应该先了解一下Web标准.尽管看上去不是必须的(我在学CSS之前,根本不知道也不想知道Web标准是个啥玩意儿).应该说,你是否学Web标准,跟 ...

  9. pr cpu100%_pr教程资源

    pr教程资源一个会pr剪辑的人,无论在找工作还是步入职场使用都很吃香.对于普通人来说,视频处理也成为了一个常用的技能.但如果不会使用pr,就得需要系统化的学习了,这当然离不了pr教程资源.很多新手朋友 ...

  10. javascript技术教程蔡敏_十大免费教程资源帮助新手快速学习JavaScript

    "JavaScript"的名头相信大家肯定是耳熟能详,但只有一小部分人群了解它的使用与应用程序构建方式.这"一小部分"人指的当然是技术过硬的有为青年.网络程序员 ...

最新文章

  1. SQLAlchemy 常用基本表
  2. 关于luci的几个问题二
  3. Eclipse导入android项目包xml报错
  4. Android 系统(183)---如何远端调试framework和APK?
  5. .Net事件委托备忘
  6. 矩池云中Tensorflow指定GPU及GPU显存设置
  7. gitlab 项目分支管理的一种策略
  8. The Strategy pattern
  9. 网上书店系统活动设计
  10. h5页面判断安卓或ios点击下载App
  11. 第22.7节 性能篇-使用八叉树结构来管理场景
  12. 如何将360浏览器兼容IE8、IE7
  13. 计算机网络有那些参考文献,计算机网络参考文献
  14. English trip V1 - 1.How Do You Feel Now? Teacher:Lamb Key:形容词(Adjectives)
  15. 图像去雾毕业论文准备01-python中time标准库
  16. 一文讲解单片机、ARM、MCU、DSP、FPGA、嵌入式错综复杂的关系!
  17. 表单工作流审核步骤抄送功能介绍
  18. 文献管理软件 linux,5款常用的文献管理软件
  19. xmuoj《C++与Python语法入门练习(By郭炜老师)》python参考代码
  20. 实名推荐的神器,你安排上了几款?

热门文章

  1. 如何定位web前后台的BUG
  2. 办公族如何防治鼠标手?
  3. 小米2s解决充电过热的方法
  4. LVS的NAT、TUNNEL、Full-NAT模式
  5. 联想拯救者新款 R9000X价格是多少 配置强不强
  6. 音视频开发: ffmpeg采集桌面屏幕、摄像头保存为视频
  7. 基于apache实现https
  8. 给windows右键,添加快捷键
  9. 特征图注意力_深入理解图注意力机制
  10. osgEarth示例分析——osgearth_graticule