POSIX_MEMALIGN(3) | Library Functions Manual | POSIX_MEMALIGN(3) |
posix_memalign
, aligned_alloc
—
#include <stdlib.h>
int
posix_memalign
(void
**ptr, size_t
alignment, size_t
size);
void *
aligned_alloc
(size_t
alignment, size_t
size);
posix_memalign
() function allocates
size bytes of memory such that the allocation's base
address is an even multiple of alignment, and returns
the allocation in the value pointed to by ptr. The
requested alignment must be a power of 2 at least as
large as sizeof
(void *).
The aligned_alloc
() function allocates
size bytes of memory such that the allocation's base
address is an even multiple of alignment. The
requested alignment must be a power of 2.
Memory that is allocated via
posix_memalign
() or
aligned_alloc
() can be used as an argument in
subsequent calls to
realloc(3) and
free(3).
posix_memalign
() function returns the value 0 if
successful; otherwise it returns an error value.
The aligned_alloc
() function returns a
pointer to the allocated memory if successful; on failure it returns
NULL
and sets errno to
indicate the error.
posix_memalign
() and
aligned_alloc
() functions will fail if:
The posix_memalign
() function will also
fail if
EINVAL
]sizeof
(void *).The aligned_alloc
() function will also
fail if
EINVAL
]posix_memalign
() function conforms to
IEEE Std 1003.1-2001 (“POSIX.1”). The
aligned_alloc
() function conforms to.
July 27, 2018 | NetBSD 9.0 |