[Add] Adding start of Memory Managment algorithm, Sorry I have been doing nothing, I am back however!!!!!!
This commit is contained in:
parent
277111a678
commit
23e8686dad
@ -1,6 +1,6 @@
|
||||
#############################################################################
|
||||
# Makefile for building: Unuk-QT
|
||||
# Generated by qmake (2.01a) (Qt 4.7.3) on: Wed Dec 21 23:06:49 2011
|
||||
# Generated by qmake (2.01a) (Qt 4.7.3) on: Sat Dec 31 00:45:11 2011
|
||||
# Project: Unuk-QT.pro
|
||||
# Template: app
|
||||
# Command: /usr/bin/qmake-qt4 -spec /usr/share/qt4/mkspecs/linux-g++ CONFIG+=debug -o Makefile Unuk-QT.pro
|
||||
@ -68,7 +68,8 @@ SOURCES = ../src/libUnuk/Debug.cpp \
|
||||
../src/Unuk/Game.cpp \
|
||||
../src/libUnuk/MapElement.cpp \
|
||||
../src/libUnuk/MapEntities.cpp \
|
||||
../src/libUnuk/FPS.cpp
|
||||
../src/libUnuk/FPS.cpp \
|
||||
../src/libUnuk/MemManager.cpp
|
||||
OBJECTS = Debug.o \
|
||||
main.o \
|
||||
Input.o \
|
||||
@ -94,7 +95,8 @@ OBJECTS = Debug.o \
|
||||
Game.o \
|
||||
MapElement.o \
|
||||
MapEntities.o \
|
||||
FPS.o
|
||||
FPS.o \
|
||||
MemManager.o
|
||||
DIST = /usr/share/qt4/mkspecs/common/g++.conf \
|
||||
/usr/share/qt4/mkspecs/common/unix.conf \
|
||||
/usr/share/qt4/mkspecs/common/linux.conf \
|
||||
@ -194,7 +196,7 @@ qmake: FORCE
|
||||
|
||||
dist:
|
||||
@$(CHK_DIR_EXISTS) .tmp/Unuk-QT1.0.0 || $(MKDIR) .tmp/Unuk-QT1.0.0
|
||||
$(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/Unuk-QT1.0.0/ && $(COPY_FILE) --parents ../src/libUnuk/Debug.h ../src/Libs/wglext.h ../src/Libs/glxext.h ../src/libUnuk/Input.h ../src/libUnuk/Rect.h ../src/libUnuk/Timer.h ../src/libUnuk/Font.h ../Constants.h ../src/Unuk/Constants.h ../src/libUnuk/ApplySurface.h ../src/Unuk/Globals.h ../src/libUnuk/ImageLoader.h ../src/libUnuk/TextureManager.h ../src/libUnuk/Texture.h ../src/libUnuk/Text.h ../src/libUnuk/MapTile.h ../src/libUnuk/Map.h ../src/libUnuk/Button.h ../src/libUnuk/ButtonToggle.h ../src/libUnuk/MainMenu.h ../src/libUnuk/ParticleEmitter.h ../src/libUnuk/IngameMenu.h ../src/libUnuk/Collision.h ../src/libUnuk/Character.h ../src/libUnuk/NPC.h ../src/Unuk/Player.h ../src/Unuk/Game.h ../src/libUnuk/MapElement.h ../src/libUnuk/MapEntities.h ../src/libUnuk/FPS.h .tmp/Unuk-QT1.0.0/ && $(COPY_FILE) --parents ../src/libUnuk/Debug.cpp ../src/Unuk/main.cpp ../src/libUnuk/Input.cpp ../src/libUnuk/Timer.cpp ../src/libUnuk/Font.cpp ../src/libUnuk/ApplySurface.cpp ../src/Unuk/Globals.cpp ../src/libUnuk/Rect.cpp ../src/libUnuk/ImageLoader.cpp ../src/libUnuk/TextureManager.cpp ../src/libUnuk/Texture.cpp ../src/libUnuk/Text.cpp ../src/libUnuk/Map.cpp ../src/libUnuk/Button.cpp ../src/libUnuk/ButtonToggle.cpp ../src/libUnuk/ParticleEmitter.cpp ../src/libUnuk/MainMenu.cpp ../src/libUnuk/IngameMenu.cpp ../src/libUnuk/Collision.cpp ../src/libUnuk/Character.cpp ../src/libUnuk/NPC.cpp ../src/Unuk/Player.cpp ../src/Unuk/Game.cpp ../src/libUnuk/MapElement.cpp ../src/libUnuk/MapEntities.cpp ../src/libUnuk/FPS.cpp .tmp/Unuk-QT1.0.0/ && (cd `dirname .tmp/Unuk-QT1.0.0` && $(TAR) Unuk-QT1.0.0.tar Unuk-QT1.0.0 && $(COMPRESS) Unuk-QT1.0.0.tar) && $(MOVE) `dirname .tmp/Unuk-QT1.0.0`/Unuk-QT1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/Unuk-QT1.0.0
|
||||
$(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/Unuk-QT1.0.0/ && $(COPY_FILE) --parents ../src/libUnuk/Debug.h ../src/Libs/wglext.h ../src/Libs/glxext.h ../src/libUnuk/Input.h ../src/libUnuk/Rect.h ../src/libUnuk/Timer.h ../src/libUnuk/Font.h ../Constants.h ../src/Unuk/Constants.h ../src/libUnuk/ApplySurface.h ../src/Unuk/Globals.h ../src/libUnuk/ImageLoader.h ../src/libUnuk/TextureManager.h ../src/libUnuk/Texture.h ../src/libUnuk/Text.h ../src/libUnuk/MapTile.h ../src/libUnuk/Map.h ../src/libUnuk/Button.h ../src/libUnuk/ButtonToggle.h ../src/libUnuk/MainMenu.h ../src/libUnuk/ParticleEmitter.h ../src/libUnuk/IngameMenu.h ../src/libUnuk/Collision.h ../src/libUnuk/Character.h ../src/libUnuk/NPC.h ../src/Unuk/Player.h ../src/Unuk/Game.h ../src/libUnuk/MapElement.h ../src/libUnuk/MapEntities.h ../src/libUnuk/FPS.h ../src/libUnuk/MemManager.h ../src/libUnuk/MemClass.h .tmp/Unuk-QT1.0.0/ && $(COPY_FILE) --parents ../src/libUnuk/Debug.cpp ../src/Unuk/main.cpp ../src/libUnuk/Input.cpp ../src/libUnuk/Timer.cpp ../src/libUnuk/Font.cpp ../src/libUnuk/ApplySurface.cpp ../src/Unuk/Globals.cpp ../src/libUnuk/Rect.cpp ../src/libUnuk/ImageLoader.cpp ../src/libUnuk/TextureManager.cpp ../src/libUnuk/Texture.cpp ../src/libUnuk/Text.cpp ../src/libUnuk/Map.cpp ../src/libUnuk/Button.cpp ../src/libUnuk/ButtonToggle.cpp ../src/libUnuk/ParticleEmitter.cpp ../src/libUnuk/MainMenu.cpp ../src/libUnuk/IngameMenu.cpp ../src/libUnuk/Collision.cpp ../src/libUnuk/Character.cpp ../src/libUnuk/NPC.cpp ../src/Unuk/Player.cpp ../src/Unuk/Game.cpp ../src/libUnuk/MapElement.cpp ../src/libUnuk/MapEntities.cpp ../src/libUnuk/FPS.cpp ../src/libUnuk/MemManager.cpp .tmp/Unuk-QT1.0.0/ && (cd `dirname .tmp/Unuk-QT1.0.0` && $(TAR) Unuk-QT1.0.0.tar Unuk-QT1.0.0 && $(COMPRESS) Unuk-QT1.0.0.tar) && $(MOVE) `dirname .tmp/Unuk-QT1.0.0`/Unuk-QT1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/Unuk-QT1.0.0
|
||||
|
||||
|
||||
clean:compiler_clean
|
||||
@ -491,6 +493,10 @@ FPS.o: ../src/libUnuk/FPS.cpp ../src/libUnuk/FPS.h \
|
||||
../src/libUnuk/Timer.h
|
||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o FPS.o ../src/libUnuk/FPS.cpp
|
||||
|
||||
MemManager.o: ../src/libUnuk/MemManager.cpp ../src/libUnuk/MemManager.h \
|
||||
../src/libUnuk/MemClass.h
|
||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o MemManager.o ../src/libUnuk/MemManager.cpp
|
||||
|
||||
####### Install
|
||||
|
||||
install: FORCE
|
||||
|
BIN
Unuk-QT/Unuk-QT
BIN
Unuk-QT/Unuk-QT
Binary file not shown.
@ -37,7 +37,9 @@ HEADERS += ../src/libUnuk/Debug.h \
|
||||
../src/Unuk/Game.h \
|
||||
../src/libUnuk/MapElement.h \
|
||||
../src/libUnuk/MapEntities.h \
|
||||
../src/libUnuk/FPS.h
|
||||
../src/libUnuk/FPS.h \
|
||||
../src/libUnuk/MemManager.h \
|
||||
../src/libUnuk/MemClass.h
|
||||
SOURCES += ../src/libUnuk/Debug.cpp \
|
||||
../src/Unuk/main.cpp \
|
||||
../src/libUnuk/Input.cpp \
|
||||
@ -63,4 +65,5 @@ SOURCES += ../src/libUnuk/Debug.cpp \
|
||||
../src/Unuk/Game.cpp \
|
||||
../src/libUnuk/MapElement.cpp \
|
||||
../src/libUnuk/MapEntities.cpp \
|
||||
../src/libUnuk/FPS.cpp
|
||||
../src/libUnuk/FPS.cpp \
|
||||
../src/libUnuk/MemManager.cpp
|
||||
|
29
src/libUnuk/MemClass.h
Normal file
29
src/libUnuk/MemClass.h
Normal file
@ -0,0 +1,29 @@
|
||||
#ifndef _MEMCLASS_H_
|
||||
#define _MEMCLASS_H_
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include "MemManager.h"
|
||||
|
||||
extern MemManager gMemManager;
|
||||
|
||||
class Complex {
|
||||
public:
|
||||
Complex(void) : r(0), c(0) {}
|
||||
Complex(double a, double b): r(a), c(b) {}
|
||||
|
||||
inline void* operator new(size_t size) {
|
||||
return gMemManager.Allocate(sizeof(Complex));
|
||||
}
|
||||
|
||||
inline void operator delete(void* object) {
|
||||
gMemManager.Free(object);
|
||||
}
|
||||
|
||||
private:
|
||||
// Real part.
|
||||
double r;
|
||||
// Complex part.
|
||||
double c;
|
||||
};
|
||||
|
||||
#endif
|
10
src/libUnuk/MemManager.cpp
Normal file
10
src/libUnuk/MemManager.cpp
Normal file
@ -0,0 +1,10 @@
|
||||
#include "MemManager.h"
|
||||
#include "MemClass.h"
|
||||
|
||||
MemManager::MemManager(void) {
|
||||
|
||||
}
|
||||
|
||||
MemManager::~MemManager(void) {
|
||||
|
||||
}
|
33
src/libUnuk/MemManager.h
Normal file
33
src/libUnuk/MemManager.h
Normal file
@ -0,0 +1,33 @@
|
||||
#ifndef _MEMMANAGER_H_
|
||||
#define _MEMMANAGER_H_
|
||||
#include <vector>
|
||||
#include <set>
|
||||
#include <list>
|
||||
#include <stdio.h>
|
||||
#include <vector>
|
||||
#include <string>
|
||||
using namespace std;
|
||||
|
||||
class IMemManager {
|
||||
public:
|
||||
virtual void* Allocate(size_t size) = 0;
|
||||
virtual void Free(void* ) = 0;
|
||||
};
|
||||
|
||||
class MemManager : public IMemManager {
|
||||
public:
|
||||
MemManager(void);
|
||||
~MemManager(void);
|
||||
|
||||
void* Allocate(size_t size);
|
||||
void Free(void* object);
|
||||
|
||||
private:
|
||||
list<void*> _byte8PtrList;
|
||||
list<void*> _byte16PtrList;
|
||||
list<void*> _byte24PtrList;
|
||||
list<void*> _byte32PtrList;
|
||||
list<void*> _byte40PtrList;
|
||||
};
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue
Block a user