我正在阅读 AVChat 的源代码。这是一个使用 UDP 和 DirectShow 的视频聊天程序。但是,在头文件GlobalDef.h中,我找到了一些定义如下:
// Messages
const long msg_FilterGraphError = 'avct' + 1;
const long msg_MediaTypeReceived = 'avct' + 2;
const long msg_TCPSocketAccepted = 'avct' + 3;
const long msg_UDPCommandReceived = 'avct' + 4;
const long msg_ModifyFilterGraph = 'avct' + 5;
// Let the main thread modify filter graph
#define WM_ModifyFilterGraph (WM_USER+123)
// UDP command defines
const long MAX_COMMAND_SIZE = 100;
const long cmd_ClientCalling = 'avct' + 100;
const long cmd_DeviceConfig = 'avct' + 101;
const long cmd_BuildFilterGraph = 'avct' + 102;
const long cmd_DisconnectRequest = 'avct' + 103;
我以为''
是用来包围单个字符的,那么为什么这段代码在我的 VS2010 上运行没有问题呢?这些长常量用作从客户端发送到服务器的命令。我设置了一个断点来观察值,VS 告诉我'avct' = 1635148660
。我还尝试在整个解决方案中搜索“avct”,除了这些之外没有找到匹配项。所以请有人告诉我的价值'avct'
是如何产生的。
编辑:
我发现如果您在其中放置多个字符''
并将其提供给 char 变量,则只会传输最后一个字符。那可以解释为什么'avct'
不会报错,但是我还是不知道值是怎么产生的。