生产消费者模型代码
#include <iostream> #include <queue> #include <deque> #include <string> #include <mutex> #include <condition_variable> #include <thread> #include <chro…
工程的编译以及make和Makefile的引入
多文件工程的编译 假设现在在Linux环境下有文件main.c、input.c、calcu.c、input.h、calcu.h同属于一个工程且具有包含关系,现在要将其编译为main可执行文件,可以使用gcc进行编译: gcc -o main main.c input.c calcu.c 当项目工程文件数变大时,gcc命令会变得非常长,且每次使用gc…
Linux 链接文件
Linux文件系统中,有所谓的链接(link),我们可以将其视为档案的别名,而链接又可分为两种 : 硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。 不论…
Linux 压缩工具
1.tar的参数 -f:使用归档文件 -c:创建归档 -x:从归档中解出文件 -j:使用bzip2压缩格式 -z:使用gzip压缩格式 -v:打印出命令执行过程 tar在压缩的同时会对文件进行打包 2.gzip gzip xxx//压缩文件 gzip -d xxx.gz//解压缩文件 gzip -r xxx//压缩文件夹 gzip -rd xxx.…
春招贴(已完结)
OPPO提前批:1/15投递 2/20完成测评 2/21完成笔试 诺瓦星云提前批:1/15投递 博世: 1/30投递,简历挂 TP普联: 1/30投递 三星电子: 1/31投递 2/23日通知线下机试,已放弃 格力: 2/1投递 2/27完成笔试 3/6完成技术面试 新凯来: 2/2投递,2/27完成测评, 3/2完成技术面试 3/7完成主管面试 …
mutable与const修饰的成员函数
用const关键字修饰的成员变量保证了不会对成员变量进行修改,但是当业务中可能会出现只允许修改某一种或某几种成员变量的情况而对其他成员变量不能做修改的情形,对于这种情形,我们依然应当使用const关键字修饰成员函数,使用mutable修饰需要改变的成员变量,代码如下: class Demo { private: mutable int value;…
QAM 调制解读
QAM(Quadrature Amplitude Modulation)正交幅度调制,这种调制方式既有幅度调制又有相位调制。 QAM的原理 从调制信号的一般形式开始,调制信号的一般形式的数学表达式如下所示: [katex]s(t)=A\cos (\omega t+\phi )[/katex] 使用三角展开公式: [katex]s(t)=A\cos …
Linux 权限
文件按访问者可分为三类:1.拥有者:文件的拥有者user2、所属组:文件时属于哪个组的group3、其他用户:other这里的拥有者,所属组,其他用户是一种角色,而root用户、普通用户则是具体的人,就像程序员是一种角色而我们是具体的人 在linux终端中使用命令 ls -l 显示当前目录下文件的具体信息,如下图 r代表读取权限,w代表写入权限,x…
C++多态
多态按字面的意思就是多种形态。当类之间存在层次结构,并且类之间是通过继承关联时,就会用到多态。C++ 多态意味着调用成员函数时,会根据调用函数的对象的类型来执行不同的函数。如下代码: #include <iostream> using namespace std; class Shape{ public: Shape(int len =…
C++对象
C++对象的基础知识点在如下代码中有体现: #include <iostream> using namespace std; class box{ public: static int boxCount;//静态成员所有对象共用 box(int len, int bre, int hei){//构造函数 length = len; bread…