Advance Git
记一下git的一下操作 alias git config --global alias.st status git config --global alias.ci commit git config --global alias.co checkout 或者你在~/.gitconfig里面直接加上 [alias] st=status 如何看一个commit的行数层面上的改变...
记一下git的一下操作 alias git config --global alias.st status git config --global alias.ci commit git config --global alias.co checkout 或者你在~/.gitconfig里面直接加上 [alias] st=status 如何看一个commit的行数层面上的改变...
推荐安装llvm的工具链,这样就能使用clangd作为LSP,实际跳转非常准确,而且速度也很快。 在vscode里面只要hook一个插件就可以,插件的名字就是clangd 需要注意的是,如果你安装了多个clangd,那么可能要在vscode的clangd插件里指明clangd的路径 comile_commands.json的生成 首先比较现代的构建系统,基本支持在generation...
正则表达升主要内容大致可以分为两块 最基础的部分(字符组,快捷方式,匹配多个数据) 进阶的应用(分组与回溯引用,替换和标记,先行断言,后行断言) 1 基础 1.1 match 最基础的match,直接输入字符就可以匹配到string中的所有包含字符的内容 1.2 字符组 []//允许可能出现的一组字符 比如 [Cc]++ is a good language//字符组...
more than breakpoint + frame + bt + as 主要关注一下他人的调试经验,以及一些高级调试技巧,比如使用ebpf进行性能分析,使用gdb进行内存分析等等。 另外xxdb调试,一个很关键的技巧,我个人觉得是要掌握data point和watch point的使用,这个可以参考这里, 另外ref的第5篇文章也有提到。 另外经常使用lldb,需要参考lldb到...
安装vs ninja就用官方的,python3 + ./configure.py –bootstrap, 然后用ninja -t compdb生成一个编译数据库,需要注意的是要打开vs的power shell 需要注意的是,在windows下,clangd的compile db要求是utf-8且只能是LF gn的编译更简单,...
inline 很早就知道std=c++11的inline其实和之前不一样了,11之后的编译器,几乎不会参考函数前的inline建议 另外inline其实不仅仅可以作用在函数头上,其实也可以作用在namespace上,在17之后甚至可以修饰变量 在11之后,inline很关键的一个作用时允许同一个函数或者是变量的定义出现在多个编译单元中,而不会报错, 最重要的其实也是针对这种ODR行为 ...
使用for range loop有个潜在的意思,就是你不要在中间再修改这个容器的大小,尤其不要随便操作迭代器 for range loop等价于实现了begin和end的容器在做一个 for(it = begin();it != end();it++) 这个时候如果你要改删除迭代器或者扩容,很可能出问题。尤其要注意在代码逻辑中,一些看似异步的回调,可能很快有sync的操作 在syn...
使用 jegdb 来调试内存相关 crash How to compare signed and unsigned integers in C++20? Algorithms for Modern Hardware it is realy dope 深入理解 C++ 链接符号决议:从符号重定义说...
标准库里的map和unordered_map,从某种程度上说,性能其实不是很行 list 首先说list,不支持随机访问,每个节点都是分散的,在大多数情况下每一个遍历的步骤都是cache miss 当前热点如果真的不怎么访问这个list,随便用,如果热点访问list,找死了 map and hashmap map里面是一个红黑树,组织起来的就是list,插入和搜索其实都是parti...
编译加速上的一些经验和分析方法,主要针对c++。 实际上在了解完make和ninja之后,发现要加速单translation unit的编译,应该最小化他要做的事,例如include what u want,使用pimpl,使用forward declaration等等。 一些compile optimize的经验 c++项目编译优化 C++服务编译...