OLD | NEW |
1 /* Alloc.h -- Memory allocation functions | 1 /* Alloc.h -- Memory allocation functions |
2 2009-02-07 : Igor Pavlov : Public domain */ | 2 2015-02-21 : Igor Pavlov : Public domain */ |
3 | 3 |
4 #ifndef __COMMON_ALLOC_H | 4 #ifndef __COMMON_ALLOC_H |
5 #define __COMMON_ALLOC_H | 5 #define __COMMON_ALLOC_H |
6 | 6 |
7 #include <stddef.h> | 7 #include "7zTypes.h" |
8 | 8 |
9 #ifdef __cplusplus | 9 EXTERN_C_BEGIN |
10 extern "C" { | |
11 #endif | |
12 | 10 |
13 void *MyAlloc(size_t size); | 11 void *MyAlloc(size_t size); |
14 void MyFree(void *address); | 12 void MyFree(void *address); |
15 | 13 |
16 #ifdef _WIN32 | 14 #ifdef _WIN32 |
17 | 15 |
18 void SetLargePageSize(); | 16 void SetLargePageSize(); |
19 | 17 |
20 void *MidAlloc(size_t size); | 18 void *MidAlloc(size_t size); |
21 void MidFree(void *address); | 19 void MidFree(void *address); |
22 void *BigAlloc(size_t size); | 20 void *BigAlloc(size_t size); |
23 void BigFree(void *address); | 21 void BigFree(void *address); |
24 | 22 |
25 #else | 23 #else |
26 | 24 |
27 #define MidAlloc(size) MyAlloc(size) | 25 #define MidAlloc(size) MyAlloc(size) |
28 #define MidFree(address) MyFree(address) | 26 #define MidFree(address) MyFree(address) |
29 #define BigAlloc(size) MyAlloc(size) | 27 #define BigAlloc(size) MyAlloc(size) |
30 #define BigFree(address) MyFree(address) | 28 #define BigFree(address) MyFree(address) |
31 | 29 |
32 #endif | 30 #endif |
33 | 31 |
34 #ifdef __cplusplus | 32 extern ISzAlloc g_Alloc; |
35 } | 33 extern ISzAlloc g_BigAlloc; |
36 #endif | 34 |
| 35 EXTERN_C_END |
37 | 36 |
38 #endif | 37 #endif |
OLD | NEW |