背景介绍
在最近参与的一个VNC远程控制项目中,我接触到了UltraVNC的源码。该项目采用了UltraVNC 的定制版本作为服务端,配合Apache Guacamole 作为客户端,实现了浏览器端的远程桌面控制功能。
发现命名惯例
在深入研究UltraVNC源码时,我注意到了一个有趣的命名模式:几乎所有的字符串变量都以"sz"作为前缀,例如:
char* szCmdLine = szCmdLine2;
“sz"前缀的由来
通过查阅资料,我在StackExchange 上找到了答案:
“sz"代表"zero-terminated string”(以零结尾的字符串)。这个命名约定源于:
- C/C++中的字符串默认以空字符’\0’结尾
- “sz"是"string zero"的缩写
- 这种命名法属于匈牙利命名法的一种应用
So many books,so little time