keming


Keming's World

Git Delete one commit

问题描述 在实际工作环境,会出现这种场景: 某个人的commit带了bug,但是短期内无法解决; 某个人传了个大文件,想删掉,但是后面又跟了很多其他commit; 首先说明,大文件直接git rm有问题,历史记录会一直有。 解决...

new and malloc

new的过程 经典两步: 申请 构造 如果想跳过申请,使用placement new。 重写new 正常重写的代码如下,可以在类内,也可以重写全局的。 static void *operator new([[mayb...

mmap

mmap默认会有250k左右的全局开销。 可以对重叠地址重复mmap,至少这组参数可以: void *p = mmap((void *)allocate_start_addr, kSpace64M, PROT_READ | PROT_WRITE, ...

profile

gperftools/suncollector suncollect https://docs.oracle.com/cd/E77782_01/html/E77785/gozsw.html#scrolltoc ...

查看内存占用

0. /bin/time /bin/time --verbose xxx 这个命令最好用,但是看不到虚拟内存,需要top去看 1. 嵌入代码 从/proc/self去查找 #include <iomanip> #include <fstream&...

git workflow

0. 说明 总的操作原则是一个 pull request 只能有一个 commit,在所有修改操作中不能增加新的commit。 1. fork个人仓 在 gitee 网页上操作,将公共仓fork到个人仓库。 2. clone个人仓 git clone 个人仓地址 git...

public、private在继承时对位宽占用的坑

public、private在继承时有奇怪的坑 当父类成员是public,子类成员无论是public还是private,他们的数据位都拼不上! 拼不上! class A1 { public: // public is very special uint32_t ...

对设计模式的理解

设计模式 这玩意,自己不写,永远都不会有感觉,列几种常见的吧。 继承 算不上设计模式 把共性往父类提 策略模式 把特性归到一起,单独拿出来,作为成员,插装到类中 桥接模式 ...