#define _BSD_SOURCE #include void explicit_bzero(void *d, size_t n) { memset(d, 0, n); __asm__ volatile("": "r="(d) :: "memory"); }