本文目录一览:
关于size_t
size_t 概括地说,就是unsigned integer 跨平台的形式。
size_t 常用在内存分配,类型拷贝类的函数。例如:memcpy, strlen, malloc等函数中;
当表示内存空间大小的时候,普通int不能用,因为int带符号,而unsigned int 在不同平台上定义不同,如果扩展为unsigned long 等类型又会降低程序的执行效率,因而产生了size_t-windowssizet
除此以外, sizeof(para)的返回值也是size_t 类型。
类似的,还有 wchar_t, ptrdiff_t 类型
wchar_t 是宽字符的数据类型
ptrdiff_t 则是记录两个指针之间距离的数据类型
其他:
uint8_t, uint_16_t, uint32_t, uint64_t, 这些则是typedef定义的类型
uint8_t: unsigned char
uint16_t: unsigned short int
uint32_t: unsigned int
uint64_t: unsigned long
参考文章:
size_t是什么类型
size_t是表示长度(尺寸)的类型,这个类型是由typedef unsigned int size_t;定义的,一般用于保存一些长度信息,比如数组的长度、字符串的长度等。
英寸的由来:英寸(inch,缩写为in.)在荷兰语中的本意是大拇指,一英寸就是一节大拇指的长度。当然人的大拇指的长度也是长短不一的。14世纪时,英皇爱德华二世颁布了“标准合法英寸”。其规定为:从大麦穗中间选择三粒最大的麦粒并依次排成一行的长度就是一英寸。-windowssizet
英制尺寸:
码的由来:英皇亨利一世在位时,曾亲自组织有关人员讨论一码(yard,缩写为yd.,合一英尺,约91.4 cm)到底应该定为多长,大臣们为此各抒己见,争论不休。
在一旁听得不厌烦的大英皇帝一急之下,顾不上尊严,一拍大腿,伸手指着臣下道:笨蛋,一码就是从我的鼻尖到我的食指尖之间的长度。码就是这样在一气之下随便地定下来的。
英尺的由来:英尺(foot,缩写为ft.等于12英寸,1/3码,0.3048 m)在英文中的本意是“脚”。实际上,一英尺就是一个成年男子一只脚的长度。由于脚的长度因人而异,在使用时有必要规定一个标准的脚长。-windowssizet
到了16世纪,德国人用了一个非常简单的方法解决了此事。他们在一个礼拜日,让从教堂里走出来的16个男子站在一起,然后将其左脚的长度加在一起,除以16,求出一个平均的脚长。这就是使用的英尺。
以上内容参考:百度百科-尺寸
Windows常见数据类型
一,常见数据类型
WORD: 16位无符号整形数据
DWORD: 32位无符号整型数据(DWORD32)
DWORD64: 64位无符号整型数据
INT: 32位有符号整型数据类型
INT_PTR: 指向INT数据类型的指针类型
INT32: 32位符号整型
INT64: 64位符号整型
UINT: 无符号INT
LONG: 32位符号整型(LONG32)
ULONG: 无符号LONG
LONGLONG: 64位符号整型(LONG64)
SHORT: 无符号短整型(16位)
LPARAM: 消息的L参数
WPARAM: 消息的W参数
HANDLE: 对象的句柄,最基本的句柄类型
HICON: 图标的句柄
HINSTANCE: 程序实例的句柄
HKEY: 注册表键的句柄
HMODULE: 模块的句柄
HWND: 窗口的句柄
LPSTR: 字符指针,也就是字符串变量
LPCSTR: 字符串常量
LPCTSTR: 根据环境配置,如果定义了UNICODE宏,则是LPCWSTR类型,否则则为LPCSTR类型
LPCWSTR: UNICODE字符串常量
LPDWORD: 指向DWORD类型数据的指针
CHAR: 8比特字节
TCHAR: 如果定义了UNICODE,则为WCHAR,否则为CHAR
UCHAR: 无符号CHAR
WCHAR: 16位Unicode字符
BOOL: 布尔型变量
BYTE: 字节类型(8位)
CONST: 常量
FLOAT: 浮点数据类型
SIZE_T: 表示内存大小,以字节为单位,其最大值是CPU最大寻址范围
VOID: 无类型,相当于标准C语言中的void
WINAPI: Windows API的函数调用方式,常见于SDK头文件中对API函数的声明中,相当于_stdcall(更严格地说,这不是数据类型,而是一种函数调用约定
二,Windows数据类型命名规律
基本数据类型包括:BYTE、CHAR、WORD、SHORT、INT等。
指针类型的命令方式一般是在其指向的数据类型前加“LP”或“P”,比如指向DWORD的指针类型为“LPDWORD”和“PDWORD”
各种句柄类型的命名方式一般都是在对象名前加“H”,比如位图(BITMAP)对应的句柄类型为“HBITMAP”。
无符号类型一般是以“U”开头,比如“INT”是符号类型,“UINT”是无符号类型
根据这些命名规律以及自己的经验看到一些没见过的数据类型也就能知道它的代表的意思
三,Windows参数简写
1、 b 布尔
2、 by BYTE
3、 c chr 或WCHAR TCHAR
4、 n short
5、 i int
6、 x、y 分别表示x 坐标,y 坐标
7、 cx、cy 分别表示x 方向长度和y 方向长度
8、 b 或f BOOL(int),f 代表“flag”
9、 w WORD(无符号short)
10、l LONG 长整数
11、dw DWORD 无符号长整数
12、fn function 函数
13、s string 字符串
14、sz 以0 字节结尾的字符串
15、h 句柄
16、p 指针
17、lpfn 指向函数的长指针
18、cb 字节数
19、lpsz 指向以0 结尾的字符串的长指针
20、g_ 全局变量
21、c_ 常量
22、m_ 类数据成员
23、s_ 静态变量
24、CS_ 类风格选项
25、CW_ 创建窗口选项
26、DT_ 绘制文本选项
27、IDI_ 图标ID 号
28、IDC_ 光标ID 号
29、MB_ 消息框选项
30、SND_ 声音选项
31、WM_ 窗口消息
32、WS_ 窗口风格
33、rc 矩形
四,Windows数据类型与标准C数据类型的关系
查看Windows数据类型的定义可以看到,所有的windows数据类型都是由C数据类型经过类型重定义得到的。
DWORD实质上就是 unsigned long 数据类型,32位无符号整型。
HANDLE类型实质上是void,HANDLE定义为:
typedof PVOID HANDLE;
HANDLE实际上就是一个PVOID,那PVOID又是什么呢?
typeof void *PVOID;
PVOID就是指向void的指针。
所有的Windows数据类型都是通过这种方式在SDK的头文件中进行定义的,它们都是来源于标准C的
windows下C语言非阻塞方式读取键盘缓冲区
有所不同。服务器是网络的节点,存储、处理网络上80%的数据、信息,在网络中起到举足轻重的作用。它们是为客户端计算机提供各种服务的高性能的计算机,其高性能主要表高速度的运算能力、长时间的可靠运行、强大的外部数据吞吐能力等方面。服务器的构成与普通电脑类似,-windowssizet
64位操作系统修改size_t类型导致程序报错
我用的就是旗舰版的7600版本windows7 没有发生你的现象 还是显卡驱动的问题 仔细设置下 32为系统都不兼容的软件和游戏 64位的更不行 现在支持64位的游戏和软件不是很多 另外你说的听歌也卡机是指平时听音乐也卡机吗?是的话 就是驱动的问题 检查下你装的所有驱动是否都支持windows7-windowssizet