Добрый день,
Я работал над выделением памяти для портативного использования.
У меня есть файл заголовка, который содержит прототипы функций и перегрузки операторов для новых и удаленных.
void* mem_align16(size_t size);
void mem_delete16(void* memory);
У меня есть файлы cpp для каждой реализации операционной системы.например sbrk для linux и HeapAlloc для windows.
при работе с окнами я должен использовать дескриптор для выделения памяти.
HANDLE heap_handle = HeapCreate(0, 0, 0);
Как бы я использовал дескриптор организованным чистым способом?Поскольку дескриптор должен быть использован при запуске внутри основного.Единственный способ использовать дескриптор - использовать его в качестве статической переменной внутри файла cpp, где используются функции, и затем использовать функцию для обновления статической переменной, а затем объявить ее вперед в main.cpp *.1013 *
//inside of win32_heap.cpp
static HANDLE heaphandle = 0;
void make_heap_handle(void) {
heaphandle = HeapCreate(0, 0, 0);
}
//inside of win32_main.cpp
void make_heap_handle(void);
int main(int argc, char** argv) {
make_heap_handle();
return (0);
}
По какой-то причине это кажется неправильным, чтобы получить полезную ручку для использования с моими функциями.