ZeroMemory
1、ZeroMemory用0来填充一块内存区域,原型为:
2、void ZeroMemory([in] PVOID Destination,[in] SIZE_T Length);
3、函数memset, wmemset或者memset给字符串设置缓冲,原型为:
4、void memset( void *dest, int c, size_t count );
5、wchar_t memset(wchar_t *dest,wchar_t c,size_t count);
6、翻看SDK,找到头文件宏ZeroMemory的定义4 x;
7、#define ZeroMemory RtlZeroMemory
8、#define RtlZeroMemory(Destination,Length) memset((Destination),0,(Length))
9、从上可以看出ZeroMemory是调用memset来实现的。
10、Raymond Chen在文章中写道,用ZeroMemory比“= {0}” 这样的语法更清晰,而且用后者不是所有人可以马上明白。
11、Richard Stevens在《UNIX网络编程》中写道,memset有个潜在的危险,它的后两个参数类型相同,但是含义大相径庭,如果不慎写反了编译时也不容易查出来;相比起源于Berkerly网络编程代码早期的bezro不是ANSIC函数,但它的两个参数更容易记忆。
12、为什么Microsoft code sample倾向使用ZeroMemory而不是{0}? 中写道,在windows平台下,对于数组或纯结构使用ZeroMemory是安全的,对于类,则使用构造函数,不要调用ZeroMemory。
13、如果要调用ZeroMemory,则只是需要加入
14、#define _M_AXP64//在头文件里定义该宏
15、#include
16、ZeroMemory与memset区别
17、ZeroMemory是微软的SDK提供的,memset属于C Run-time Library,所以ZeroMemory只能用于Windows系统,memset可用于别的系统。
18、ZeroMemory是一个宏,只是用于把一段内存的内容置零,内部是用memset实现的,memset可将内存置成别的字符。
19、如果你的程序是Win32程序而且不想连接c运行时库,那就用ZeroMemory,如果需要跨平台,那就用memset。
【#ZeroMemory#】到此分享完毕,希望对大家有所帮助。
免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!
-
傅雷:艺术与人生的灵魂工程师傅雷,中国现代著名的翻译家、文学评论家和教育家,他的名字与中国艺术与文化的...浏览全文>>
-
化妆品中的科学:揭秘常见成分及其作用化妆品是现代生活中不可或缺的一部分,从护肤品到彩妆,每一款产品都蕴...浏览全文>>
-
沁人心脾的春日春天,总是带着一种独特的魅力悄然降临。清晨,推开窗户,一股清新的空气扑面而来,仿佛是大自...浏览全文>>
-
海珠区位于广州市南部,是广州的重要组成部分之一。作为一座历史悠久且充满活力的城区,海珠区以其独特的自然...浏览全文>>
-
科技助力乡村振兴:数字农业成为新引擎近年来,随着互联网技术的快速发展,数字农业逐渐成为推动乡村振兴的重...浏览全文>>
-
正月十五:团圆与希望的节日正月十五,元宵节,是中国传统的重要节日之一。这一天,不仅承载着浓厚的文化氛围...浏览全文>>
-
板凳的拼音“板凳”是一个常见的汉语词汇,它的拼音是“bǎn dèng”。这个词由两个汉字组成,“板”表示木板...浏览全文>>
-
清明节是中国传统的重要节日之一,通常在公历4月4日至6日之间。这一天不仅是祭祖扫墓的日子,也是人们亲近自然...浏览全文>>
-
肥料:农业发展的基石肥料是现代农业生产中不可或缺的重要物质,被誉为“庄稼的粮食”。它为植物生长提供了必...浏览全文>>
-
“方兴未艾”读音及意义浅析“方兴未艾”是一个常用成语,出自《晋书·王羲之传》,意思是事物正在蓬勃发展,...浏览全文>>