这里写自定义目录标题
欢迎使用Markdown编辑器
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
准备工作
- 平台选择
NS3是基于GUN/Linux平台使用C++语言开发的工具软件,目前主要支持的软硬件平台有
操作系统 | 硬件平台 | GCC |
---|---|---|
Linux | x86和x86_64 | 3.46和4.1~4.7 |
FreeBSD | x86和x86_64 | 4.2 |
Mac OS X | ppc和x86 | 3.46和4.1~4.7 |
对于和Linux不兼容的Windows系统,可以安装虚拟机VMware
-
依赖软件包
NS3内核使用C++语言开发,并提供Python接口,因此安装NS3之前需要安装GCC/G++3.4或更高版本和Python2.4或更高版本。除此之外,NS3还需要其他软件包的支持,如gdb和valgrind(调试程序)、Mercurial(NS3使用的轻量级分布式版本控制系统)、Doxygen(NS3帮助文档系统)、bazaar(Python绑定)、tcpdump(读取pcap格式包记录文件)、sqlite(统计框架用到数据库)、python-pygraphviz(支持可视化PyViz的软件包)软件包的安装要花费大量时间,可以把安装命令写入shell脚本,并加入自动确认参数 --y,然后执行脚本文件。
NS3下载
- tarball下载NS3比使用Mercurail下载NS3要简单一些,解压之后包含build.py netanim ns 3.27 pybindgen 等。
编译安装
- 第一次编译NS3安装包,建议使用allinone环境下的build.py脚本,这是一个Python脚本
sudo ./build
- 如果提示有没有安装成功的模块,也不必再安装,不影响NS3系统的运行。
- 编译如此庞大的系统,如果使用make一样的工具,一定是很痛苦的事情。幸运的是我们拥有交互式命令waf。
./waf clean
./waf -d optimized --enable-examples --enable-tests configure
先清除之前配置编译,重新配置NS3,优化编译包括例子和测试(因为默认例子和测试是不编译的),然后系统会重新配置,编译系统会检查NS3以来的软件包是否安装成功
运行脚本测试
通过运行NS3提供的示例,再次验证NS3是否正常安装,首先执行如下命令:
sudo ./waf --run scratch-simulator
- 该示例的源代码:
#include "ns3/core-module.h"
using namespace ns3;
NS_LOG_COMPONENT_DEFINE ("ScratchSimulator");
int
main (int argc, char *argv[])
{
NS_LOG_UNCOND ("Scratch Simulator");
Simulator::Run ();
Simulator::Destroy ();
}
- 代码框架和标准C++一样,头文件、命名空间和主函数。NS_LOG_UNCOND()我们查看Doxygen API 文档:
do \
{ \
if (false) \
{ \
std::clog << "Scratch Simulator"; \
} \
} \
while (false)
原来NS_LOG_UNCOND()是个带参数的宏定义,事实上该程序就是输出字符串“Scratch Simulator”到日志,该示例使用的是NS3特殊的日志系统(Logging)。
强调文本 强调文本
加粗文本 加粗文本
标记文本
删除文本
引用文本
H2O is是液体。
210 运算结果是 1024.
插入链接与图片
链接: link.
图片:
带尺寸的图片:
居中的图片:
居中并且带尺寸的图片:
当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。
如何插入一段漂亮的代码片
去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片
.
// An highlighted block
var foo = 'bar';
生成一个适合你的列表
- 项目
- 项目
- 项目
- 项目
- 项目1
- 项目2
- 项目3
- 计划任务
- 完成任务
创建一个表格
一个简单的表格是这么创建的:
项目 | Value |
---|---|
电脑 | $1600 |
手机 | $12 |
导管 | $1 |
设定内容居中、居左、居右
使用:---------:
居中
使用:----------
居左
使用----------:
居右
第一列 | 第二列 | 第三列 |
---|---|---|
第一列文本居中 | 第二列文本居右 | 第三列文本居左 |
SmartyPants
SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:
TYPE | ASCII | HTML |
---|---|---|
Single backticks | 'Isn't this fun?' |
‘Isn’t this fun?’ |
Quotes | "Isn't this fun?" |
“Isn’t this fun?” |
Dashes | -- is en-dash, --- is em-dash |
– is en-dash, — is em-dash |
创建一个自定义列表
-
Markdown
- Text-to- HTML conversion tool Authors
- John
- Luke
如何创建一个注脚
一个具有注脚的文本。1
注释也是必不可少的
Markdown将文本转换为 HTML。
KaTeX数学公式
您可以使用渲染LaTeX数学表达式 KaTeX:
Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (