/* * GCC of any recent vintage doesn't do stupid things with bcopy. * EGCS 1.1 knows all about expanding memcpy inline, others don't. * * Similarly for a memset with data = 0.
*/
/* For gcc 3.x, we cannot have the inline function named "memset" because the __builtin_memset will attempt to resolve to the inline as well,
leading to a "sorry" about unimplemented recursive inlining. */ externinlinevoid *__memset(void *s, int c, size_t n)
{ if (__builtin_constant_p(c)) { if (__builtin_constant_p(n)) { return __builtin_memset(s, c, n);
} else { unsignedlong c8 = (c & 0xff) * 0x0101010101010101UL; return __constant_c_memset(s, c8, n);
}
} return ___memset(s, c, n);
}
/* The following routine is like memset except that it writes 16-bit aligned values. The DEST and COUNT parameters must be even for
correct operation. */
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.