Set memory to a given value
#include <string.h>
void* memset( void* dst,
int c,
size_t length );
void* memset_isr( void* dst,
int c,
size_t length );
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The memset() function fills length bytes starting at dst with the value c. The memset_isr() function is similar, but it's safe for you to use it in an interrupt service routine.
A pointer to the destination buffer (that is, the value of dst).
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
int main( void )
{
char buffer[80];
memset( buffer, '=', 80 );
buffer[79] = '\0';
puts( buffer );
return EXIT_SUCCESS;
}
Processes that register ISRs shouldn't use the NEON versions.
memset() is ANSI, POSIX 1003.1; memset_isr() is QNX Neutrino.
| Safety: | |
|---|---|
| Cancellation point | No |
| Interrupt handler | Read the Caveats |
| Signal handler | Yes |
| Thread | Yes |
| Safety: | |
|---|---|
| Cancellation point | No |
| Interrupt handler | Yes |
| Signal handler | Yes |
| Thread | Yes |
Implementations of memset() that are optimized using SIMD instructions aren't safe to use in an interrupt handler. These include the NEON implementations on ARMv7 and AArch64.