摘要: 正文 看redis的bg数据拷贝的时候想起进程的数据是cow的,想写个程序看看cow的细节,因为要用到信号量操作sem_post和sem_wait,信号量的创建依赖于共享内存对象shm_open,因为很久没使用过的这个系统调用结果导致出了乌龙,把第一个参数name给当成了路径+名字,结果创建的时候返 阅读全文
posted @ 2021-01-20 16:02 woder 阅读(748) 评论(0) 推荐(0) 编辑
摘要: 正文 Intel汇编与At&t汇编区别 AT&T的立即数前面有修饰符号$. e.g. $4 Intel的立即数不需要修饰 e.g. 4 AT&T寄存器名称前有修饰符号% e.g. movl $4, %eax Intel寄存器名称不需要修饰 e.g. mov eax, 4 AT&T的源操作数在左边,目 阅读全文
posted @ 2021-01-20 10:18 woder 阅读(585) 评论(0) 推荐(0) 编辑
摘要: 概览 最近看到陈硕老师的muduo的7.6实现protobuf编解码器与消息分发器,觉得消息分发器这里写的确实很妙,简述一下背景,做业务的时候我们常会在tcp上制定一个消息格式,通过这些消息进行通讯,消息除了长度,类型,消息体为了最大压缩会使用pb,然后陈老师制作一个如下的消息格式样例 +-+-+- 阅读全文
posted @ 2021-01-04 21:26 woder 阅读(526) 评论(0) 推荐(0) 编辑
摘要: 2.正文 2.1 左值引用(&)与右值引用(&&) 在c++11中提出了右值引用,作用是为了和左值引用区分开来,其作用是: 右值引用限制了其只能接收右值,可以利用这个特性从而提供重载,这是右值引用有且唯一的特性,限制了接收参数必为右值, 这点常用在move construct中,告诉别人这是一个即将 阅读全文
posted @ 2020-10-05 23:06 woder 阅读(7802) 评论(1) 推荐(2) 编辑
摘要: #include <iostream> #include <utility> #include <boost/type_index.hpp> using namespace std; using boost::typeindex::type_id_with_cvr; template<typenam 阅读全文
posted @ 2020-10-05 23:02 woder 阅读(593) 评论(0) 推荐(0) 编辑
摘要: #2.正文 2.1 模板 #cmake 版本检查 cmake_minimum_required (VERSION 2.8) #项目名字 project (greenReplace) #设置c++版本 set(CMAKE_CXX_STANDARD 17) set(OpenCV_DIR /root/do 阅读全文
posted @ 2020-07-06 21:32 woder 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 概 c++的atomic使用总会配合各种各样的memory order进行使用,memory order控制了执行结果在多核中的可见顺序,,这个可见顺序与代码序不一定一致(第一句代码执行完成的结果不一定比第二句早提交到内存),其一是进行汇编的进行了指令优化重排,其二是cpu实际执行时乱序执行以及部分 阅读全文
posted @ 2020-06-29 23:44 woder 阅读(5439) 评论(2) 推荐(2) 编辑
摘要: 1.概览 1.1 函数名中的箭头,用来表明函数的return type,其使用在函数的返回类型需要通过模板参数进行推导,使用在decltype()和declval()不方便的场景 2.正文 c++ 中提供了如下的方式,定义一个函数以及返回值 return-type identifier ( argu 阅读全文
posted @ 2020-06-24 22:11 woder 阅读(4358) 评论(0) 推荐(2) 编辑
摘要: 1.概览 1.虚函数:根据基类指针指向的对象的不同,调用不同类的方法 2.纯虚函数用来提供接口规范,而不必实现一个纯虚函数提出的方便,只是一个声明而不是定义,所以没法创建一个抽象类 4.虚函数是通过在类内存放虚函数指针,其指向虚函数表来实现的 5.子类虚函数表的初始化是拷贝父类虚函数表,子类实现的同 阅读全文
posted @ 2020-05-10 22:14 woder 阅读(563) 评论(0) 推荐(0) 编辑
摘要: 1.概览 1.sqlite依赖于继承SQLiteOpenHelper类,对onCreate()和onUpgrade()的重写,onCreate()会在检测到在数据库未创建的时候才调用去该接口创建, SQLiteOpenHelper构造时需传入一个int version变量,该变量改变的时候就会调用o 阅读全文
posted @ 2020-05-04 19:39 woder 阅读(167) 评论(0) 推荐(0) 编辑