I would like to know what's the difference betweenmach_vm_allocate
and vm_allocate
. I know mach_vm_allocate
is only available in OS X and not iOS, but I'm not sure why. The file that has all the function prototypes in for the mach_vm_...
functions (mach/mach_vm.h)
only has #error mach_vm.h unsupported.
in iOS.
the new Mach VM API that is introduced in Mac OS X 10.4. The new API is essentially the same as the old API from the programmer's standpoint, with the following key differences.
-Routine names have the mach_ prefixfor example, vm_allocate() becomes mach_vm_allocate() .
-Data types used in routines have been updated to support both 64-bit and 32-bit tasks. Consequently, the new API can be used with any task.
The new and old APIs are exported by different MIG subsystems: mach_vm and vm_map , respectively. The corresponding header files are <mach/mach_vm.h> and <mach/vm_map.h> , respectively.
The new Mach VM API that is introduced in Mac OS X 10.4. The new API is essentially the same as the old API from the programmer's standpoint, with the following key differences:
Routine names have the mach_ prefixfor
example, vm_allocate()
becomes mach_vm_allocate()
;
Data types used in routines have been updated to support both 64-bit and 32-bit tasks. Consequently, the new API can be used with any task.
The new and old APIs are exported by different MIG subsystems: mach_vm
and vm_map
respectively. The corresponding header files are <mach/mach_vm.h>
and <mach/vm_map.h>
respectively.
The information is derived from the book OS X Internals A System Approach.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With