C/C++ Tips
C Tips
区别以下函数
1234567int* f(); //f 为一个函数,函数返回值为指向整形的指针int (*f)(); //f 为一个指针,该指针指向一个函数int* f[]; //f 为一个数组,数组内容为指针int (*f[])(); //f 为数组,数组的内容为指向函数的指针int*(*f[])(); //f 为数组,数组的内容为指向函数的指针,该函数返回一个指向整形的指针int f()[]; //不存在int f[](); //不存在
宏定义
123456789101112#define _SYSCALL_CONCAT(arg1, arg2) __SYSCALL_CONCAT(arg1, arg2)#define __SYSCALL_CONCAT(arg1, arg2) ___SYSCALL_CONCAT(arg1, arg2)#define ___SYSCALL_CONCAT(arg1, arg2) arg1##arg2#define _SYSCALL_NARG(...) __SYSCAL ...
archlinux(Manjaro) 配置
设置国内源
设置官方镜像源(包括 core, extra, community, multilib )
1sudo pacman-mirrors -i -c China -m rank
然后勾选你需要的镜像源,确认即可。
1sudo pacman -Syy //更新数据源
archlinux 安装代理
shadowsocksr 并启用(弃用)
安装
1yaourt shadowsocksr
修改配置文件
123sudo vim /etc/shadowsocksr/config.json"protocol": "auth_sha1_v4","obfs":"http_simple",
启动
1sudo python ./.local/lib/python3.6/site-packages/shadowsocks/local.py -c /etc/shadowsocksr/config.json
v2raya
在应用商店里下载 v2raya 软件
然后启动 v2rayA:
1sudo systemctl start v2raya.service
设置开机自动启动:
1sudo system ...
UML 类图
UML 类图
类示例
1234567891011class Circle{private: double radius_; Point center_;public: void setRadius(double _radius); void setCenter(Point _center); double getArea() const; double getCircumfrence() const;}
基本概念及术语
可见性(visibility)
- public
- private
- protected
参数的方向(parameter direction)
in:用于输入的参数,get the value
out:用于输出的参数, set the value
inout:既可作为输入又可作为输出, get the value and set the value
类成员(变量或者函数)的类型
静态成员,下划线表示
纯虚函数,斜体
类关系
Assocation (knows a)
Dependency (uses a)
Comp ...
GTest & GMock
ASSERT_ & EXPECT_
Bool
Fatal assertion
Nonfatal assertion
Verifies
ASSERT_TRUE(condition);
EXPECT_TRUE(condition);
condition is true
ASSERT_FALSE(condition);
EXPECT_FALSE(condition);
condition is false
Value
Fatal assertion
Nonfatal assertion
Verifies
ASSERT_EQ(val1, val2);
EXPECT_EQ(val1, val2);
val1 == val2
ASSERT_NE(val1, val2);
EXPECT_NE(val1, val2);
val1 != val2
ASSERT_LT(val1, val2);
EXPECT_LT(val1, val2);
val1 < val2
ASSERT_LE(val1, val2);
EXPECT_LE(val1, v ...
QCC518x 开发环境搭建
软件安装
需要安装 visual studio c++ 2010 redistributable
Microsoft Visual C++ 2010 Service Pack 1 Redistributable Package MFC Security Update
编译出错(路径)
需要将 sdk 尽量放到根目录下,路径名不要太长不然会出现编译出错的问题。
python 脚本对 ascii 解析出错
修改 C:_Toolkit_1.2.15.35_x64[build.py](http://build.py)
12345678910111213141516171819202122"""Copyright (c) 2016 - 2021 Qualcomm Technologies International, Ltd"""# Extract build system option from command linefrom sys import argvimport systry: reload(sys) sys.setdefaultencoding('utf8') ...
叶赛宁
😗不惋惜,不呼唤,我也不啼哭(叶赛宁)
不惋惜,不呼唤,我也不啼哭,
一切将逝去……如苹果花丛的薄雾
金黄的落叶堆满我心间——
我已经再不是青春少年。
心儿啊,你已开始悄悄冷却,
如今再不会那样地跳跃:
这白桦的图案织成的家园,
再不能吸引我赤脚留连。
流浪者的激情哪!越来越不见你,
促使我轻轻吐出火热的言语。
啊,我的白白流逝的华年!
迸发的憎恨和奔放的情感!
如今我已倦于期待未来,
生活呀,难道你是一场幻梦?
仿佛我曾在喧闹的春晨
在玫瑰色的骏马上尽情驰骋。
槭树的黄叶落地无声,
世人都必将腐朽无踪……
天下的众生啊,你们生生不息,
我愿你永远美好、繁荣!
ucos 相关实现
ucos 优先级调度算法
保证调度延迟的确定性
普通查表法会从头开始遍历数组,这样就绪态最高优先级的 task 会比就绪态优先级低的 task 先被查找到,造成不同优先级 task 在调度上花费时间不一致的情况,这违背了实时性的原则。
ucos 调度原理
为了确保调度延迟一致性,ucos 采用了空间换取时间的算法在相同时间里查找到不同优先级 task,具体算法如下。 整个算法由两个变量、两个表格和三个程序组成:两个变量是 OSRdyGrp 和 OSRdyTbl[]; 两个表格是位掩码表 OSMapTbl[] 和优先级判定表 OSUnMap[],三个程序分别是使 task 进入就绪、脱离就绪、寻找就绪态最高优先级 task。
使 task 进入就绪态的程序如下:
123/* 将 prio 优先级放入就绪态优先级表中 */OSRdyGrp = OSMapTbl[prio>>3]; //设置就绪态优先级组标志OSRdyTbl[prio>>3] |= OSMapTbl[prio&0x07]; //设置就绪态优先级组内的位标 ...
宋词-其他
长相思·汴水流
白居易
汴水流,泗水流,流到瓜州古渡头。吴山点点愁。
思悠悠,恨悠悠,恨到归时方始休。月明人倚楼。
浪淘沙·借问江潮与海水
白居易
借问江潮与海水,何似君情与妾心?
相恨不如潮有信,相思始觉海非深。
花非花
白居易
花非花,雾非雾。
夜半来,天明去。
来如春梦几多时?
去似朝云无觅处。
忆江南·江南好
白居易
江南好,风景旧曾谙。日出江花红胜火,春来江水绿如蓝。能不忆江南?
十二月二日夜梦游沈氏园亭
陆游
城南小陌又逢春,只见梅花不见人。
玉骨久成泉下土,墨痕犹锁壁间尘。
卜算子·咏梅
陆游
驿外断桥边,寂寞开无主。已是黄昏独自愁,更著风和雨。
无意苦争春,一任群芳妒。零落成泥碾作尘,只有香如故。
诉衷情·当年万里觅封侯
陆游
当年万里觅封侯,匹马戍梁州。关河梦断何处?尘暗旧貂裘。
胡未灭,鬓先秋,泪空流。此生谁料,心在天山,身老沧洲。
鹊桥仙·华灯纵博
陆游
华灯纵博,雕鞍驰射,谁记当年豪举。酒徒一半取封侯,独去作、江边渔父。
轻舟八尺,低篷三扇,占断苹洲烟雨。镜湖元自属闲人,又何必、君恩赐与。
夜游宫·记梦寄师伯浑
陆游
雪晓清笳乱起。梦游处、不知何地。铁骑无声望 ...
辛弃疾
西江月·遣兴
醉里且贪欢笑,要愁那得工夫。
近来始觉古人书。信著全无是处。
昨夜松边醉倒,问松我醉何如。
只疑松动要来扶。以手推松曰去。
清平乐·独宿博山王氏庵
绕床饥鼠,蝙蝠翻灯舞。屋上松风吹急雨,破纸窗间自语。
平生塞北江南,归来华发苍颜。布被秋宵梦觉,眼前万里江山。
西江月·夜行黄沙道中
明月别枝惊鹊,清风半夜鸣蝉。稻花香里说丰年,听取蛙声一片。
七八个星天外,两三点雨山前。旧时茅店社林边,路转溪桥忽见。
贺新郎·别茂嘉十二弟
别茂嘉十二弟。鹈鴂、杜鹃实两种,见《离骚补注》
绿树听鹈鴂。更那堪、鹧鸪声住,杜鹃声切。啼到春归无寻处,苦恨芳菲都歇。算未抵、人间离别。马上琵琶关塞黑,更长门、翠辇辞金阙。看燕燕,送归妾。
将军百战身名裂。向河梁、回头万里,故人长绝。易水萧萧西风冷,满座衣冠似雪。正壮士、悲歌未彻。啼鸟还知如许恨,料不啼清泪长啼血。谁共我,醉明月。
无线相关概念
频谱划分
IEEE 802.11b/g 标准工作在 2.4G 频段,频率范围为 2.400—2.4835GHz,共 83.5M 带宽
划分为 14 个子信道
每个子信道宽度为 22MHz
相邻信道的中心频点间隔 5MHz
相邻的多个信道存在频率重叠(如 1 信道与 2、3、4、5 信道有频率重叠)
整个频段内只有 3 个(1、6、11)互不干扰信道
接收灵敏度
信道划分
2.4G 信道中国划分 802.11b 和 802.11g 的工作频段在 2.4GHz(2.4GHz-2.4835GHz),其可用带宽为 83.5MHz,中国划分为 13 个信道,每个信道带宽为 22MHz
北美/FCC 2.412-2.461GHz(11 信道) 欧洲/ETSI 2.412-2.472GHz(13 信道) 日本/ARIB 2.412-2.(14 信道)
SSID 和 BSSID
基本服务集(BSS)
基本服务集是 802.11 LAN 的基本组成模块。能互相进行无线通信的 STA 可以组成一个 BSS(Basic Service Set) 。如果一个站移出 BSS 的覆盖范围,它将不能再与 ...