makeword()

MAKEWORD(学习之用,转载)

  MAKEWORD 宏 平台:SDK   这个宏创建一个被指定变量连接而成的WORD变量。返回一个WORD变量。   (注:typedef unsigned short WORD;)   WORD MAKEWORD(   BYTE bLow, //指定新变量的低字节序;   BYTE bHigh //指定新变量的高字节序;   );   例如:   WORD wVersionRequested;   wVersionRequested = MAKEWORD( 2, 2 );   #define MAKEWORD(a,b) ((WORD) (((BYTE) (a)) | ((WORD) ((BYTE) (b))) << 8))   makeword是将两个byte型合并成一个word型,一个在高8位(b),一个在低8位(a)   makelparam、makelong和makewparam都是一样的,将两个word型合并成一个dword型。一个在高16位,一个在低16位      比如a=2;b=1   2的二进制是00000010 1的二进制为00000001 B是表示高8位,A表示低8位 合并起来就是   100000010  

例如:

#include <iostream.h>   #include <windows.h>   using namespace std;   int main()   {   WORD wVersionRequested;   wVersionRequested=MAKEWORD(2,2);   cout << wVersionRequested << endl;   return 0;   }   输出的结果是514,说明是将前面的2和后面的2组成一个新的WORD。即0000 0010 0000 0010   而这个结果正是:512 + 2 = 514.

makeword()

时间: 2024-10-10 06:15:47

makeword()的相关文章

Windows 上静态编译 Libevent 2.0.10 并实现一个简单 HTTP 服务器(无数截图)

[文章作者:张宴 本文版本:v1.0 最后修改:2011.03.30 转载请注明原文链接:http://blog.s135.com/libevent_windows/] 本文介绍了如何在 Windows 操作系统中,利用微软 Visual Studio 2005 编译生成 Libevent 2.0.10 静态链接库,并利用 Libevent 静态链接库,实现一个简单的 HTTP Web服务器程序:httpd.exe. 假设 Visual Studio 2005 的安装路径为“D:\Program

将socket程序从linux移植到windows上

今天突然想试下纯socket编程在两个系统上代码重合量有多大,只要不使用VC自定义的宏(比如SOCKET.SOCKADDR等等)感觉代码重合量挺大的. 比如最简单的TCP客户端和服务端对话,在VC中用int取代SOCKET宏,用struct sockaddr_in取代SOCKADDR_IN宏. 然后区别就仅仅是头文件和windows额外加载/关闭套接字库的代码了. // Unix/Linux#include <sys/socket.h> #include <netinet/in.h>

Winsock 入门 Echo 示例

1 #include <stdio.h> 2 #include <winsock2.h> 3 4 #pragma comment(lib, "ws2_32") /* WinSock 使用的库函数 */ 5 6 #define ECHO_DEF_PORT 7 /* 侦听的缺省端口 */ 7 #define ECHO_BUF_SIZE 256 /* 缓冲区的大小 */ 8 9 int main(int argc, char **argv) 10 { 11 WSADA

TCP之Delay ACK在Linux和Windows上实现的异同-Linux的自适应ACK

关于TCP Delay ACK的概念我就不多说了,到处复制粘贴标准文献以及别人的文章只能让本文篇幅加长而降低被阅读完的欲望,再者这也不是什么论文,附录参考文献几乎很少有人去看,所以我把这些都略过了. 和风吹的干皮鞋,吹的断愁绪吗? 写完本文后的补充: 这段话是我写完本文后补上去的.本来我想把这篇文章控制在2000字以内,或者更少的,800-1000字以内,无奈还是说多了...今天心情非常好,因为我竟然在梦里把三亨利之战的细节搞清楚了,迄今,我觉得自己对于西洋史的认知更近了一步,可以说今天是一个里

通过域名获取IP地址和本机IP地址

#include <stdio.h> #include <stdlib.h> #include <winsock2.h> #pragma comment(lib, "ws2_32.lib") int main(int argc, char *argv[]) {     WSADATA wsaData;     WSAStartup(MAKEWORD(2, 2), &wsaData);          char webSite[80] = {

Windows 非阻塞或异步 socket

异步与非阻塞区别见我的另外一篇文章Socket 同步/异步与阻塞/非阻塞区别 select WSAAsyncSelect WSAEventSelect 重叠(Overlapped)I/O IOCP:完成端口 Select 首先要使用ioctlsocket设置为非阻塞模式. 然后启动线程,线程中不停select. WSAAsyncSelect WSAAsyncSelect模型是Windows下最简单易用的一种Socket I/O模型.使用这种模型时,Windows会把网络事件以消息的形势通知应用程

C++模拟Http/Https POST登录web站点

C++模拟Http/Https访问web站点 一.概述 1.Http与Https的区别与联系 在OSI参考模型中Http与Https均属于应用层协议.Http即Hypertext Transfer Protocol,超文本传输协议:而Https为Secure Hypertext Transfer Protocol安全超文本传输协议,它是一个安全通信通道,基于HTTP开发,用于在客户端与服务器之间交换信息,它使用安全套接字层SSL进行信息交换,简单来说它就是HTTP的安全版. Http默认使用80

非阻塞模式(ioctlsocket)

1 //Server.cpp 2 #include <stdio.h> 3 #include <winsock2.h> //winsock.h (2种套接字版本) 4 #pragma comment(lib,"ws2_32.lib") //wsock32.lib 5 6 #define MAXSIZE 100 // 7 8 int main() 9 { 10 // 11 int retVal; 12 13 char buf[MAXSIZE]; 14 15 //初

整型变量(int)与字节数组(byte[])的相互转换

// int2byte.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <Windows.h> /* #define MAKEWORD(a, b) ((WORD)(((BYTE)(((DWORD_PTR)(a)) & 0xff)) | ((WORD)((BYTE)(((DWORD_PTR)(b)) & 0xff))) << 8)) #define MAKELONG(a, b) ((LONG