c++右值引用
左值和右值   C++中所有的值都必然属于左值、右值二者之一。左值是指表达式结束后依然存在的持久化对象,右值是指表达式结束时就不再存在的临时对象。 判断方法 有两种方法可以判断是左…
自定义 vector 类
#include <cstdio> #include <memory> #include <utility> template<typename T> …
分别用 vector 和 unordered_map 实现并查集
  并查集是一种基础数据结构,主要解决连通性问题。这里不对并查集的概念做详细的解释,主要是介绍并查集的两种实现。 vector 实现   参考《算法》 第四版中…
一维 interval overlap
工作中有用到和一维区间相关的内容,要在多个区间中,快速的找到和某个区间有 overlap 的所有区间。 在网上看到一个简单又高效的实现,记录一下。 原地址 原作者的教学网站 实现代码 #pragma …
c++ 利用 chrono 打印时间
自己封装的一个打印时间的类,可以打印秒、毫秒、微秒、纳秒。 使用方式 #include "myTimer.h" int main() { myTimer timer("m…
linux 环境下 c++ 程序打印 core dump 信息
linux 信号机制 软中断信号 Signal,简称信号,用来通知进程发生了异步事件,进程之间可以互相通过系统调用 kill 等函数来发送软中断信号。内核也可以因为内部事件而给进程发送信号,通知进程发…
calibredrv 做 LVL 的脚本
脚本是一个 makefile 文件,执行的时候先执行 make gen, 再运行make diff。 oasis 文件 target = /xxx/xxx.oas ref = /xxx/xxx.oas…
centos 6.10 安装 svn1.14.2
安装 apr 和 apr-util 下载地址 我下载的分别是 apr-1.7.4 和 apr-unit-1.6.3 常规的安装步骤 ./configure --prefix=/usr/local/xx…
centos 6.10 安装 tcmalloc
安装 libunwind-1.6.2 下载地址 解压文件 cd libunwind-1.6.2 ./configure make && make install 另一种方式 从 git…
centos 编译安装 zstd 库
安装环境: centos 6.10 和 centos 7.9 从 github 上下载最新的源码。下载链接 进入到 zstd-dev 目录下 执行下面命令 cd /build/cmake mkdir …
centos 6.10 安装 boost 1.78.0
下载地址 找到对应的版本,下载源码,而不是二进制文件。 解压文件 cd boost_1_78_0 ./bootstrap.sh ./b2 install --perfix=/usr/local/boo…
centOs 6.10 编译 qt 5.15.11
安装依赖库 xcb 依赖库 qt xcb 需要的依赖 如何要用 x11, 就要在编译的时候加上 -xcb 选项,就要安装 xcb 相关的库。 到时可以在 config.log 文件查看,缺少哪个库就安…
centos 编译安装 gcc 9.4
系统版本 实测:centos 6.10 、centos 7.9 都可用以下方式安装 下载 gcc 9.4 下载地址 选择 gcc-9.4.0.tar.xz 下载 解压下载的文件 进入 gcc-9.4.…
centos 6.10 安装 perl 5.14
下载安装包 运行下面命令: wget http://www.cpan.org/src/5.0/perl-5.14.2.tar.gz 也可以直接下载好安装包,再拷到虚拟机 安装 执行下面命令 tar -…