c++ 中写宽字符串常量前需要带字母L:
L"hello world"
这个 L 是宏吗. 为什么没有圆括号.
这里有两个解释:
https://stackoverflow.com/questions/13379451/how-is-l-macro-defined
https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/18829987-acaf-49f6-a63c-14fdb9793a4d/ltext-macro-recognized-as-const-char-in-mfc-application?forum=vclanguage
简单的说, L 不是宏. 而是一个编译器定义的前缀. 其作用相当于用于浮点数的 f 后缀:
1.34f
只是一个是前缀, 一个是后缀而已. 编译器会自动识别.
很久以前就注意到 ubuntu 的 网卡名字不再是 eth0 了.
这里有一个争论 http://opensuse-factory.opensuse.narkive.com/rGGZFhpR/13-1-why-network-eth0-is-named-instead-ens33
这里有正式的解释: https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/
简单的来讲, eth0 的名字是内核取的, 而这个名字是受驱动程序的先后顺序决定的. 多个网卡的话, 每次重启 ethx 后面的 数字可能会随机变化.
这也是改名的根本原因.
改名是为了让名字固定下来. 这个名字是 systemd 取的, 来自主板上端口顺序. 所以相对固定.
当然还有其他好处若干. 请阅读上面的链接.
在排除一下 cpp 编译错误时, 可能需要搞清楚文件包含关系.
linux:
gcc -M showtime.c my.cpp
windows:
cl.exe /showIncludes my.cpp
参考:
查看 lvm 信息
```sh
lvdisplay
--- Logical volume ---
LV Path /dev/system-dblti/root
LV Name root
VG Name system-dblti
LV UUID NhTMSk-tTvl-Bj4V-7kjv-xP4N-8T9P-wtkSGb
LV Write Access read/write
LV Creation host, time dedie, 2015-12-21 14:28:10 +0100
LV Status available
# open 1
LV Size 1,82 TiB
Current LE 476631
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:0
```
然后挂载:
```sh
mount /dev/system-dblti/root /mnt
```
Intel 集成显卡驱动会自动在桌面的右键菜单添加选项:

十分讨厌, 对于这种一百年用不上的功能给我加到桌面菜单里面, 真是想不通.
可以通过修改注册表简单的删除它.
参考地址:
https://www.tenforums.com/tutorials/6088-remove-intel-hd-graphics-desktop-context-menu-windows.html