void *
memset (void *dstpp, int sc, size_t len)
{ unsignedint c = sc; longint dstp = (longint) dstpp;
if (len >= 8)
{
size_t xlen;
op_t cccc;
cccc = (unsignedchar) c;
cccc |= cccc << 8;
cccc |= cccc << 16; if (OPSIZ > 4) /* Do the shift in two steps to avoid warning if long has 32 bits. */
cccc |= (cccc << 16) << 16;
/* There are at least some bytes to set.
No need to test for LEN == 0 in this alignment loop. */ while (dstp % OPSIZ != 0)
{
((unsignedchar *) dstp)[0] = c;
dstp += 1;
len -= 1;
}
/* Write 1 `op_t' per iteration until less than OPSIZ bytes remain. */
xlen = len / OPSIZ; while (xlen > 0)
{
((op_t *) dstp)[0] = cccc;
dstp += OPSIZ;
xlen -= 1;
}
len %= OPSIZ;
}
/* Write the last few bytes. */ while (len > 0)
{
((unsignedchar *) dstp)[0] = c;
dstp += 1;
len -= 1;
}
return dstpp;
}
Messung V0.5 in Prozent
¤ 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.0.2Bemerkung:
¤
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.