Пример #1
0
void * MemAlloc(size_t size, MEM_PROTECTION protect)
{
#if defined(TARGET_MAC) || defined(TARGET_BSD)
    void * addr = mmap(0, size, SysProtection(protect), MAP_ANON | MAP_PRIVATE, -1, 0);
#else
    void * addr = mmap(0, size, SysProtection(protect), MAP_ANONYMOUS | MAP_PRIVATE, 0, 0);
#endif
    if (addr != MAP_FAILED)
    {
        return addr;
    }
    return 0;
}
Пример #2
0
BOOL MemProtect(void * addr, size_t size, MEM_PROTECTION protect)
{
    DWORD oldProtect;
    return VirtualProtect(addr, size, SysProtection(protect), &oldProtect);
}
Пример #3
0
void * MemAlloc(size_t size, MEM_PROTECTION protect)
{
    return VirtualAlloc(0, size, MEM_COMMIT, SysProtection(protect));
}
Пример #4
0
BOOL MemProtect(void * addr, size_t size, MEM_PROTECTION protect)
{
    
    return (-1 != mprotect(addr, size, SysProtection(protect)));
}