nvim 基于buffer的文本补全
nvim 可以通过插件lsp实现基于编程语法的自动补全。而对于一般的文本,lsp 就无助于事了。这时候我们需要一个基于文本分析的自动补全功能。这个可以通过 echasnovski/mini.nvim 来实现
nvim 可以通过插件lsp实现基于编程语法的自动补全。而对于一般的文本,lsp 就无助于事了。这时候我们需要一个基于文本分析的自动补全功能。这个可以通过 echasnovski/mini.nvim 来实现
|
|
:Lazy restore为了以指定版本的编译器进行编译,我们可以通过修改 cmake 默认编译器 (CMAKE_CXX_COMPILER)。然而,如果在多项目的 add_subdirectory 包含其他项目,可能造成死循环的问题。
先查看当前系统的 glibc 版本
|
|
当前系统使用的 glibc 动态库在 /usr/lib64/libc.so.6。我们可以使用命令 strings 查看动态库的版本信息
|
|
gcc/g++ 提供编译日期,可以通过获取日期,进行相关判断。
|
|
gcc 提供关键词 inline,允许我们标注函数需要在编译时展开,这样可以避免函数调用,减低函数栈开销,从而达到优化程序的目地。然而,天下并没有免费的午餐,在引入 inline 的同时,我们也需要注意其带来的程序体积变大、cache locality 减少的风险。
Pros of inlining:
- Removes function call overhead (yay!)
- May reveal additional optimization opportunities (sometimes yay!)
Cons of inlining:
- Increases program size (boo!)
- May reduce cache locality (sometimes boo!)
- May increase build times (boo!)