william

Keep Calm and Markdown.

ubuntu 安装 docky

安装 Docky

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
mkdir -p ~/Downloads/docky
cd ~/Downloads/docky
wget http://archive.ubuntu.com/ubuntu/pool/universe/g/gnome-sharp2/libgconf2.0-cil_2.24.2-4_all.deb
wget http://archive.ubuntu.com/ubuntu/pool/main/g/glibc/multiarch-support_2.27-3ubuntu1_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/universe/libg/libgnome-keyring/libgnome-keyring-common_3.12.0-1build1_all.deb
wget http://archive.ubuntu.com/ubuntu/pool/universe/libg/libgnome-keyring/libgnome-keyring0_3.12.0-1build1_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/universe/g/gnome-keyring-sharp/libgnome-keyring1.0-cil_1.0.0-5_amd64.deb
sudo apt install ./*.deb

wget http://archive.ubuntu.com/ubuntu/pool/universe/d/docky/docky_2.2.1.1-1_all.deb
sudo apt install ./docky_2.2.1.1-1_all.deb

c++ 内存对齐

我们在设计结构体时,需要慎重考虑内存对齐的问题,因为不同的内存对齐方式对程序的性能有极大的影响。

CPU 读取内存的最小有效值

计算机的内存是按照 byte(8 bits) 进行有序排序,理论上,我们可以在最小有效值为 1 byte 进行随机内存读取。然而,如果每次都是按照这个节奏,每取一个 int(假设为 4byte) 变量,CPU 都需要进行 4 次操作,毫无疑问效率极低。

我们知道 CPU 架构有 32bit64bit 两种,其含义是在 CPU 每次从内存地址取值时,是以对应最小有效内存地址进行快速操作的。简单讲

  • 对于 32bit,最优操作为每次取 4 byte 的内存空间进行识别
  • 对于 64bit,最优操作为每次取 8 byte 的内存空间进行识别

现在的操作系统一般都是 64bit 了,所以每次的最佳取内存地址为 8byte,这也是我们经常说的,内存对齐按照 8byte,也是编译器 gcc 默认采用的大小。

1
#pragama pack(8)
0%