Приветствую!
Решил написать минимальное приложение на winapi.
Стал реализовывать работу с памятью через winapi.
Программа падает.
Как компилю.(использую mingw)
"..\..\mingw\bin\g++" -omain -s -nostdlib -fno-rtti -fno-exceptions -fno-use-cxa-atexit -Wall -Wformat -Werror main.cpp -lkernel32 -luser32
сам исходник
#include <windows.h>
class Memory
{
private:
HANDLE Heap;
public:
Memory()
{
Heap = HeapCreate(0,0x01000,0);
}
void * Allocate(unsigned int Size)
{
return HeapAlloc(Heap, 0, Size);
}
void Deallocate(void * Src)
{
HeapFree(Heap, 0, Src);
}
~Memory()
{
HeapDestroy(Heap);
}
};
static Memory GlobalMemoryAllocator;
void * operator new(unsigned int Size)
{
return GlobalMemoryAllocator.Allocate(Size);
}
void operator delete(void * Src)
{
GlobalMemoryAllocator.Deallocate(Src);
}
class Mem
{
public:
int m_Data;
};
void Main()
{
Mem * p = new Mem;
p->m_Data = 5;
if (p->m_Data > 10)
{
p->m_Data = 100;
}
MessageBox(0, "Hello!", "MsgBox", 0);
//Console Out;
//Out.Write("Hello World!");
ExitProcess(0);
}