对于刚接触SNS3(NS3)的同学来说,可能更急于从整体理解SNS3(NS)是如何工作、如何编译、如何运行用例,本篇文章先说一下SNS3(NS)是如何构建的(参考了NS-3教程,并结合工作中实际操作)。
SNS3(NS3)工程构建—命令行
ns-3是使用一个名为CMake的构建工具构建的,有几种方法可以构建ns-3,如build.py、bake、ns3包装器,为了方便起见大多数用户最终都会直接使用CMake的ns3命令行包装器,下面仅介绍该方法的使用。
1)预配置
如下图所示,进入到工程目录,使用debug,使能example和test,则输入如下命令对工程进行配置:
当出现如下图所示结果,可进行build:
2)Build
build成功后,则可进行运行。
更多操作及用法可以参考ns-3教程。
SNS3(NS3)工程构建—IDE(VS Code)
NS3教程推荐了Visual Studio Code、CLion、Code::Blocks、XCode4种IDE,开发人员在不同情况下使用不同的IDE。由于我们选用了WSL,因此在此选择了VS Code。下面以VS Code为例来说明如何使用VS Code构建工程。
1)首先下载VS Code,安装CMake和C++插件;
2)打开VS Code,点击左下角图标,出现如下图所示选项(此处选择的基于WSL的Linux):
选择Connect to WSL using Distro,出现如下图所示:
选择Ubuntu default distro,出现如下图左下角所示即连接Ubuntu成功,接下来就可以加载想要运行的工程了。连接Linux后,此时的VSCode只是界面程序运行在Windows上,而实际操作是作用在其所连接的Linux系统上。
3)加载工程
点击左上角菜单栏file,选择open folder,如下图所示:
选择项目所在路径,点击OK即可,如下图所示:
点击OK后,选择GCC 11.4.0 x86_64-linux-gnu,如下图所示:
然后会自动运行CMake,并对工程进行预配置。
4)build
当出现如下图所示的配置结果后就可以进行build了:
build时有两种方法:
- 直接使用VS Code自带的build菜单
点击build即可。
- 使用VS Code自带的Terminal
点击TERMINAL,切换至TERMINAL界面,如上图所示,在TERMINAL下的操作和command line相同。