MAKEWORD 是windows上, c++的一个宏定义, 为宏定义实现的函数, 函数原型为:
WORD MAKEWORD(
BYTE bLow, //指定新变量的低字节序;
BYTE bHigh //指定新变量的高字节序;
);
// 宏的原始定义在 minwindef.h中,为
#define MAKEWORD(a, b) ((WORD)(((BYTE)(((DWORD_PTR)(a)) & 0xff)) | ((WORD)((BYTE)(((DWORD_PTR)(b)) & 0xff))) << 8))
通过函数原型看出, 该函数的作用是: 传入两个8位整数, 合成一个16位整数
在socket通信中, 作用是: 声明调用不同的Winsock版本。
MAKEWORD(a, b) 中, a指定大版本, b指定小版本
版本号 | 特点 |
1.1 | 1. 只支持TCP/IP协议 2. 不支持异步 |
2.0 | 1. 支持多协议2 2. 支持异步 3. 有良好的向下兼容性, 任何使用1.1版的源代码,二进制文件,应用程序都可以不加修改地在2.0规范下使用 |
具体内容, 可以参考微软官网文档 Winsock 参考 - Win32 apps | Microsoft Learn