Scatter Knowledge 🐣

some scatter knowledge

  • Author: Yiqing Ma (Hongkong University of Science and Technology)
  • udp, protocol


Scatter knowledge

sunifdef

我们需要一個轻量级小工具,可以給他一些 symbol帮我們删掉不需要的分支,其他的地方不要乱动!這就是今天要介紹的 - sunifdef。sunifdef 是 son of unifdef 的意思,unifdef 源自 FreeBSD。

sunifdef 參數很多,不過以下範例應該可以解決大部分問題:

1
sunifdef.exe --file argfile --constant eval,del xyz.c

–constant eval,del 告诉 sunifdef 碰到 #if… 時要如何处理,eval,del 代表计算出常数值 = 0 就刪除该区块:

man

man手册页的操作指令:

按q退出,这个最重要,因为Ctrl+C都没法退出来

按下箭头可以往后一行

按回车或者上箭头可以往前一行

按End键可以翻到最后一页

按Home键可以翻到第一页

按空白键或者PgDn键可以往后翻一页

按PgUp键可以往前翻一页

输入/keyword回车可以搜索keyword

输入?keyword回车可以往前搜索keyword

按n可以往前或往后搜索下一个

tmux

tmux 是一款终端复用命令行工具,一般用于 Terminal 的窗口管理。在 macOS 下,使用 iTerm2 能应付绝大多数窗口管理的需求。

1
ctrl b +

uname -r

可以查看内核的版本
执行命令update-grub,更新grub引导使用新的内核。
sudo grub-reboot 4
sudo reboot now

c4-2XL

C4.2XL C4.2XL
EW2 instance 一台机子的名称

Emulab

A time- and space-shared platform for research, education, and development in distributed systems and networks. Emulab’s primary goals are ease of use, control, and realism, achieved through consistent use of virtualization and abstraction.
分布式系统和网络中的研究,教育和开发的时间和空间共享平台。Emulab的主要目标是通过一致使用虚拟化和抽象实现易用性,控制和真实性。
Emulab和mininet的区别是啥????

ipfw

IPFW IPFW是为FreeBSD编写的状态防火墙,支持IPv4和IPv6。它由几个组件组成:内核防火墙过滤规则处理器及其集成的数据包计费工具,日志记录工具,NAT,虚拟网络(4)流量整形器,转发设施,桥接设施和ipstealth设施。

iperf

iperf命令是一个网络性能测试工具。iperf可以测试TCP和UDP带宽质量。iperf可以测量最大TCP带宽,具有多种参数和UDP特性。iperf可以报告带宽,延迟抖动和数据包丢失。利用iperf这一特性,可以用来测试一些网络设备如路由器,防火墙,交换机等的性能。

iperf分为两种版本,Unix/Linux版和Windows版,Unix/Linux版更新比较快,版本最新。Windows版更新慢。Windows版的iperf叫jperf,或者xjperf。jperf是在iperf基础上开发了更好的UI和新的功能。

RL-TCP

有个MDK
还有个Keil MDK-ARM

在虚拟机和桌面上快速切换的方法:

command + 鼠标移动

how to install all dependencies:

sudo apt-get -f install

how to estimate the store:

df -h

how to find a file path:

1
find . -name dna.pb.h

VIM 快速移动工具:

w 后一单词
b 前一单词
D 删除从光标到末尾
d0 删除从光标到行首

ifndef, def, endif

ifndef(或者#ifndef)、#def、#endif等宏这几个宏是为了进行条件编译。一般情况下,源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。有时,希望当满足某条件时对一组语句进行编译,而当条件不满足时则编译另一组语句。

条件编译命令最常见的形式为:

#ifdef 标识符
程序段1

#else
程序段2

#endif

它的作用是:当标识符已经被定义过(一般是用#define命令定义)则对程序段1进行编译,否则编译程序段2。其中#else部分也可以没有,即:

#ifdef
程序段1

#denif

C语言:

public:
具有最大的访问权限,可以访问任何一个在classpath下的类、接口、异常等。它往往用于对外的情况,也就是对象或类对外的一种接口的形式。
protected:
主要的作用就是用来保护子类的。它的含义在于子类可以用它修饰的成员,其他的不可以,它相当于传递给子类的一种继承的东西
default:
有时候也称为friendly,它是针对本包访问而设计的,任何处于本包下的类、接口、异常等,都可以相互访问,即使是父类没有用protected修饰的成员也可以。
private:
访问权限仅限于类的内部,是一种封装的体现,例如,大多数成员变量都是修饰符为private的,它们不希望被其他任何外部的类访问。