william

Keep Calm and Markdown.

glibc2.18 安装

先查看当前系统的 glibc 版本

1
2
3
4
5
6
locate libc.so                                                                                                                                                                               [16:20:29]

/usr/lib64/libc.so
/usr/lib64/libc.so.6
/usr/local/glibc-2.34/lib/libc.so
/usr/local/glibc-2.34/lib/libc.so.6

当前系统使用的 glibc 动态库在 /usr/lib64/libc.so.6。我们可以使用命令 strings 查看动态库的版本信息

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
strings /usr/lib64/libc.so.6 |egrep '^GLIBC_2.' |sort                                                                                                                                        [16:19:55]
GLIBC_2.10
GLIBC_2.10
GLIBC_2.11
GLIBC_2.11
GLIBC_2.12
GLIBC_2.13
GLIBC_2.13
GLIBC_2.14
GLIBC_2.15
GLIBC_2.16
GLIBC_2.16
GLIBC_2.17
GLIBC_2.17
GLIBC_2.18
GLIBC_2.18
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.5
GLIBC_2.6
GLIBC_2.6
GLIBC_2.7
GLIBC_2.7
GLIBC_2.8
GLIBC_2.8
GLIBC_2.9
GLIBC_2.9

g++ 获取编译时间

gcc/g++ 提供编译日期,可以通过获取日期,进行相关判断。

1
2
const char *months[] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug",
                        "Sep", "Oct", "Nov", "Dec"};

c++ inline浅析

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!)

nvim tokyonight 修改高亮颜色

如果遇到在终端显示问题,可以修改高亮颜色: ~/.config/nvim/lua/plugins/tokyonight.lua 1 2 3 4 5 6 7 8 on_highlights = function(hl, colors) hl.LineNr = { fg = "#fffb7b", } hl.CursorLineNr = { fg = "#709db2", } end,
0%