Всем привет, решил сам организовывать память в своих приложениях, и написал свои простые аллокаторы памяти, все работает прекрасно, но одна проблема: если в классе есть виртуальные методы, то они почему-то не хотят вызываться, и постоянно вылетает ошибка segmentation fault. Почему так? понятно что под виртуальные методы отдельно выделяется память, но я пробовал уже и по 1МБ под класс выделять, один фиг не хочет работать :( Вот код пуллового аллокатора:
/*!< Pool Allocator >!*/
//
void CreatePoolBuffer(PoolBuffer *buf, uint32_t size, uint32_t chunkSize) {
	//
	buf->totalSize = size;
	buf->chunkSize = chunkSize;
	buf->mem = (uint8_t*)mmap(0, size, PROT_WRITE | PROT_READ, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
	//
	const uint32_t chunkCount = (size / chunkSize) - 1;
	
	for (uint32_t i = 0; i < chunkCount; ++i) {
		uint8_t* currChunk = buf->mem + (chunkSize*i);
		*((uint8_t**)currChunk) = currChunk + chunkSize;
	}
	
	*((uint8_t**)&buf->mem[chunkCount * chunkSize]) = 0;
	buf->head = buf->mem;
	//
}
//
inline void* PoolAlloc(PoolBuffer* buf) {
	//
	uint8_t* currPtr = buf->head;
	buf->head = (*((uint8_t**)(buf->head)));
	return currPtr;
}



