The memory functions operate on arrays of characters in memory called memory areas. These subroutines enable you to:
You do not need to specify any special flag to the compiler in order to use the memory functions. However, you must include the header file for these functions in your program. To include the header file, use the following statement:
#include <memory.h>
The following memory services are provided:
compare_and_swap | Compares and swaps data |
fetch_and_add | Updates a single word variable atomically |
fetch_and_and or fetch_and_or | Set or clear bits in a single word variable atomically |
malloc, free, realloc, calloc, mallopt, mallinfo, or alloca | Allocate memory |
memccpy, memchr, memcmp, memcpy, memset or memmove | Perform memory operations. |
moncontrol | Starts and stops execution profiling after initialization by the monitor subroutine |
monitor | Starts and stops execution profiling using data areas defined in the function parameters |
monstartup | Starts and stops execution profiling using default-sized data areas |
msem_init | Initializes a semaphore in a mapped file or shared memory region |
msem_lock | Locks a semaphore |
msem_remove | Removes a semaphore |
msem_unlock | Unlocks a semaphore |
msleep | Puts a process to sleep when a semaphore is busy |
mwakeup | Wakes up a process that is waiting on a semaphore |
disclaim | Disclaims the content of a memory address range |
ftok | Generates a standard interprocess communication key |
getpagesize | Gets the system page size |
psdanger | Defines the amount of free paging space available |
shmat | Attaches a shared memory segment or a mapped file to the current process |
shmctl | Controls shared memory operations |
shmdt | Detaches a shared memory segment |
shmget | Gets a shared memory segment |
swapon | Activates paging or swapping to a designated block device |
swapqry | Returns device status |