Struct schnell leeren?
-
Shade Of Mine schrieb:
ZeroMemory ist ein Makro aus der Winapi:
#define ZeroMemory(p,s) memset(p, 0, s)
ist deine winapi kaputt? bei mir ist das ne funktion aus der kernel32.dll
vorteile von memset:
- ist intrinsic
- kann also bei kleinen feldern zu REPNE STOSB und konsorten gut umgewandelt werden
- kann von alignment gut profitierenmemset ruft bei größeren feldern (oder feldern mit für den compiler unbekannter größe) feine handoptimierte assembler-funktion auf.
vorteil von ZeroMemory:
es steht nicht im eigenen programm, dadurch wird es etwas kleiner.könnte natürlich sein, daß heute die memset bei großen oder unbekannten feldern die Zeromemory aufruft, dann wäre das makro ok.
-
volkard schrieb:
Shade Of Mine schrieb:
ZeroMemory ist ein Makro aus der Winapi:
#define ZeroMemory(p,s) memset(p, 0, s)
ist deine winapi kaputt? bei mir ist das ne funktion aus der kernel32.dll
ZeroMemory gibts öfter
--> #define ZeroMemory(pb,cb) memset((pb),0,(cb))
--> #define ZeroMemory RtlZeroMemory