【发布时间】:2016-07-11 15:04:12
【问题描述】:
我正在编写一种简单(老式)的方式来编写套接字程序,并且有一部分是
memset(&addrinfo, NULL, sizeof(addrinfo));
在 Unix/Linux 或 Windows 中。在 MSDN 教程中,微软使用了
ZeroMemory(&addrinfo, sizeof (addrinfo));
我只是想知道,这两个功能之间有什么区别吗?
【问题讨论】:
我正在编写一种简单(老式)的方式来编写套接字程序,并且有一部分是
memset(&addrinfo, NULL, sizeof(addrinfo));
在 Unix/Linux 或 Windows 中。在 MSDN 教程中,微软使用了
ZeroMemory(&addrinfo, sizeof (addrinfo));
我只是想知道,这两个功能之间有什么区别吗?
【问题讨论】:
根据@dante:
在 Win32 中,ZeroMemory 只是 RtlZeroMemory 周围的一个宏,它是 memset 的一个宏。所以,我不认为这有什么不同。
WinBase.h:
#define ZeroMemory RtlZeroMemory
WinNT.h:
#define RtlZeroMemory(Destination,Length) memset((Destination),0,(Length))
【讨论】: