我知道为什么包含警卫,这#pragma once不是标准的,因此不受所有编译器等的支持.
我的问题是另一种:
有没有明智的理由让它们没有?我还没有遇到这样一种情况,理论上,如果不在其他地方包含文件中提供包含警卫,那将会有任何好处.有没有人有一个例子,没有它们的实际好处?
我问的原因 - 对我来说,他们似乎非常多余,因为你总是使用它们,并且行为#pragma once也可以自动应用于字面上的一切.
我们使用GetLastInputInfo并计算与 GetTickCount64 结果的差异来确定空闲情况。然而,GetLastInputInfo返回的tick计数被写入LASTINPUTINFO的成员dwTime中,它是一个DWORD,因此是一个无符号32位整数,最大值为4294967295,相当于~49天。在正常运行时间比这更长的机器上,这当然会导致函数报告不正确的值。
显然没有名为 GetLastInputInfo64 的函数,但也许有一个不同名称的函数?