zoukankan      html  css  js  c++  java
  • word或dword区别

    在看C/C++的书或者试题时,有时会见到利用word或dword定义的变量,第一次看到的时候并不知其是什么,更不用说word或dword占几个字节了。幸好在VC安装文件夹下有相关的定义。如C:Program FilesMicrosoft VisualStudioVC98Include查看头文件WINDEF.H的定义:

    typedef unsignedlong      DWORD;

    typedefint                BOOL;

    typedef unsignedchar      BYTE;

    typedef unsignedshort     WORD;

    typedeffloat              FLOAT;

    typedefFLOAT              *PFLOAT;

    typedef BOOLnear          *PBOOL;

    typedef BOOLfar           *LPBOOL;

    typedef BYTEnear          *PBYTE;

    typedef BYTE far           *LPBYTE;

    typedef intnear           *PINT;

    typedef intfar            *LPINT;

    typedef WORDnear          *PWORD;

    typedef WORDfar           *LPWORD;

    typedef longfar           *LPLONG;

    typedef DWORDnear         *PDWORD;

    typedef DWORDfar          *LPDWORD;

    typedef voidfar           *LPVOID;

    typedef CONST voidfar     *LPCVOID;

         从以上定义可以发现,WORD占2个字节,DWORD占4个字节。

    关于DWORD使用中重要的一点。DWORD 现在表示 32bit 无符号整数,即使以后 Windows 升级到64位,DWORD 仍然是 32bit 无符号整数(也许以后的 long 不是32bit了,只需要重新定义一下 DWORD 就可以了)。对于那些直接和位数有关的整数,最好不用 int, long, short 之类的类型,因为这些类型的位数可能不确定(比如,在16位程序里,int 是16位的,在32位程序里,int 是32位的,谁知道在以后的64位程序里,int 是多少位,long 又是多少位)。用重新定义的类型就没有这方面的问题了,最多到时候修改一下定义就可以了,而不需要在程序里一行一行的查找

    http://blog.csdn.net/godsight/article/details/53039483

  • 相关阅读:
    批量修改文件
    mysql-5.5.32-linux2.6-x86_64.tar.gz 二进制源码定制安装MySQL服务器
    源码搭建nginx服务器
    Python--安装
    k8s-修改线程数
    容器卡在terminate状态无法删除
    扩/
    磁盘分区+挂载
    499
    清理磁盘
  • 原文地址:https://www.cnblogs.com/ZHENGJUNupperclassman/p/7753023.html
Copyright © 2011-2022 走看看