├── Project_C ├── 메모리풀 개선.txt ├── 메모리풀 개선 V2.txt ├── 메모리풀 메모리 구조.png ├── SourceCode │ ├── Core │ │ ├── Compile_Log.txt │ │ ├── Core.cpp │ │ ├── stdafx.h │ │ ├── dllmain.cpp │ │ ├── stdafx.cpp │ │ ├── targetver.h │ │ ├── UTIL │ │ │ ├── Macro.cpp │ │ │ ├── Macro.h │ │ │ ├── Number.h │ │ │ ├── DebugMemory.h │ │ │ ├── MemoryPool.cpp │ │ │ ├── MemoryPool.h │ │ │ ├── ObjectPool.cpp │ │ │ ├── ObjectPool.h │ │ │ ├── MemoryPoolCore.h │ │ │ ├── MemoryPoolCore.cpp │ │ │ ├── LogWriter_Interface.h │ │ │ ├── System_Information.h │ │ │ ├── MemoryPool_Interface.h │ │ │ ├── System_Information.cpp │ │ │ ├── MemoryPool_v2 │ │ │ │ ├── VMEM_LIST.h │ │ │ │ ├── MemoryPool_v2.h │ │ │ │ ├── VMEM_LIST.cpp │ │ │ │ ├── MemoryPool_v2.cpp │ │ │ │ ├── MemoryPoolCore_v2.h │ │ │ │ ├── MemoryPoolCore_v2.cpp │ │ │ │ └── MemoryPool_PrecalculateData_v2.cpp │ │ │ └── System_Information_Interface.h │ │ ├── Core.vcxproj.user │ │ ├── CorePrivate.cpp │ │ ├── Core_Interface.h │ │ ├── CorePrivate.h │ │ ├── Core.h │ │ ├── Core.vcxproj.filters │ │ └── Core.vcxproj │ ├── Engine │ │ ├── Compile_Log.txt │ │ ├── Engine.h │ │ ├── stdafx.h │ │ ├── Engine.cpp │ │ ├── UTIL │ │ │ ├── Timer.h │ │ │ ├── Timer.cpp │ │ │ ├── LogWriter.h │ │ │ ├── MiniDump.cpp │ │ │ ├── MiniDump.h │ │ │ ├── LogWriter.cpp │ │ │ ├── Macro_Engine.h │ │ │ ├── SimpleTimer.h │ │ │ ├── SimpleTimer.cpp │ │ │ └── Macro_Engine.cpp │ │ ├── stdafx.cpp │ │ ├── targetver.h │ │ ├── Engine_Init.cpp │ │ ├── Engine.vcxproj.user │ │ ├── ReadMe.txt │ │ ├── Engine.vcxproj.filters │ │ └── Engine.vcxproj │ ├── Output │ │ ├── Core_x64.dll │ │ ├── Core_x86.dll │ │ ├── Engine_include.h │ │ ├── Core_import.h │ │ ├── Core_include.h │ │ ├── Core_x64D.dll │ │ ├── Core_x86D.dll │ │ ├── Engine_x64.lib │ │ ├── Engine_x86.lib │ │ ├── Engine_import.h │ │ ├── Engine_x64D.lib │ │ └── Engine_x86D.lib │ ├── BasisClass │ │ ├── BasisClass.h │ │ ├── LOCK │ │ │ ├── Lock.cpp │ │ │ └── Lock.h │ │ └── BasisClass.hpp │ ├── _Document │ │ └── Memo Core.txt │ ├── x64 │ │ └── Release │ │ │ ├── Core_x64.dll │ │ │ ├── ConsoleTestProject_x64.exe │ │ │ ├── tbbmalloc64_44_20150728.dll │ │ │ ├── tbbmalloc64_44_20160128.dll │ │ │ └── TestData.txt │ ├── x86 │ │ └── Release │ │ │ ├── Core_x86.dll │ │ │ ├── LOG │ │ │ ├── log.txt │ │ │ └── log_debug.txt │ │ │ ├── ConsoleTestProject_x86.exe │ │ │ ├── tbbmalloc86_44_20150728.dll │ │ │ ├── tbbmalloc86_44_20160128.dll │ │ │ └── TestData.txt │ ├── _Document_Guide │ │ ├── Atomic.txt │ │ ├── String.txt │ │ ├── Intrinsic.txt │ │ ├── File Directory.txt │ │ └── Used System Function.txt │ ├── TEST │ │ ├── UnitTest_Core │ │ │ ├── stdafx.cpp │ │ │ ├── stdafx.h │ │ │ ├── unittest1.cpp │ │ │ ├── unittest_MemoryCompare_BYTE.cpp │ │ │ ├── UnitTest_Core.vcxproj.user │ │ │ ├── UnitTest_Core.vcxproj.filters │ │ │ └── UnitTest_Core.vcxproj │ │ ├── UnitTest_Engine │ │ │ └── stdafx.cpp │ │ └── ConsoleTestProject │ │ │ ├── test_memorypool.h │ │ │ ├── main.h │ │ │ ├── ConsoleTestProject.vcxproj.user │ │ │ ├── TestData.txt │ │ │ ├── main.cpp │ │ │ ├── ConsoleTestProject.vcxproj.filters │ │ │ ├── DLL_Opener.h │ │ │ ├── test_MiniDumpWrite.h │ │ │ ├── test_memorypool_std_allocator.h │ │ │ └── ConsoleTestProject.vcxproj │ └── SourceCode.sln ├── 메모리풀 에약단위 계산.ods ├── 메모리풀 할당크기 계산.ods ├── 메모리풀 메모리 구조 V2.png ├── SourceCode Other │ ├── ReadMe.txt │ ├── Core_UseTest │ │ ├── Core_x64.dll │ │ ├── Core_x86.dll │ │ ├── Core_import.h │ │ ├── Core_include.h │ │ ├── main.cpp │ │ ├── Core_UseTest.vcxproj.filters │ │ ├── Core_UseTest.sln │ │ └── Core_UseTest.vcxproj │ └── Calculator_MemoryPool_Demand │ │ ├── main.cpp │ │ ├── Calculator_MemoryPool_Demand.VC.db │ │ ├── Calculator_MemoryPool_Demand.vcxproj.filters │ │ ├── Calculator_MemoryPool_Demand.sln │ │ └── Calculator_MemoryPool_Demand.vcxproj └── Library Public Version │ ├── ReadMe.txt │ └── Core Library BETA 2.0 │ ├── Core_x64.dll │ ├── Core_x86.dll │ ├── Core │ ├── stdafx.h │ ├── UTIL │ │ ├── Macro.h │ │ ├── DebugMemory.h │ │ ├── LogWriter_Interface.h │ │ ├── MemoryPool_Interface.h │ │ └── System_Information_Interface.h │ ├── targetver.h │ └── Core_Interface.h │ ├── User │ ├── Core_import.h │ └── Core_include.h │ └── ReadMe.txt ├── LICENSE ├── .gitignore └── README.md /Project_C/메모리풀 개선.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/메모리풀 개선.txt -------------------------------------------------------------------------------- /Project_C/메모리풀 개선 V2.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/메모리풀 개선 V2.txt -------------------------------------------------------------------------------- /Project_C/메모리풀 메모리 구조.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/메모리풀 메모리 구조.png -------------------------------------------------------------------------------- /Project_C/SourceCode/Core/Compile_Log.txt: -------------------------------------------------------------------------------- 1 | // Core_x64.dll 2 | // Compile Start : 2017-09-30 10:01:20.69 3 | -------------------------------------------------------------------------------- /Project_C/메모리풀 에약단위 계산.ods: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/메모리풀 에약단위 계산.ods -------------------------------------------------------------------------------- /Project_C/메모리풀 할당크기 계산.ods: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/메모리풀 할당크기 계산.ods -------------------------------------------------------------------------------- /Project_C/SourceCode/Engine/Compile_Log.txt: -------------------------------------------------------------------------------- 1 | // Engine_x64.lib 2 | // Compile Start : 2017-09-30 10:04:31.51 3 | -------------------------------------------------------------------------------- /Project_C/메모리풀 메모리 구조 V2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/메모리풀 메모리 구조 V2.png -------------------------------------------------------------------------------- /Project_C/SourceCode/Core/Core.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Core/Core.cpp -------------------------------------------------------------------------------- /Project_C/SourceCode/Core/stdafx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Core/stdafx.h -------------------------------------------------------------------------------- /Project_C/SourceCode Other/ReadMe.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode Other/ReadMe.txt -------------------------------------------------------------------------------- /Project_C/SourceCode/Core/dllmain.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Core/dllmain.cpp -------------------------------------------------------------------------------- /Project_C/SourceCode/Core/stdafx.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Core/stdafx.cpp -------------------------------------------------------------------------------- /Project_C/SourceCode/Core/targetver.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Core/targetver.h -------------------------------------------------------------------------------- /Project_C/SourceCode/Engine/Engine.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Engine/Engine.h -------------------------------------------------------------------------------- /Project_C/SourceCode/Engine/stdafx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Engine/stdafx.h -------------------------------------------------------------------------------- /Project_C/SourceCode/Core/UTIL/Macro.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Core/UTIL/Macro.cpp -------------------------------------------------------------------------------- /Project_C/SourceCode/Core/UTIL/Macro.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Core/UTIL/Macro.h -------------------------------------------------------------------------------- /Project_C/SourceCode/Core/UTIL/Number.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Core/UTIL/Number.h -------------------------------------------------------------------------------- /Project_C/SourceCode/Engine/Engine.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Engine/Engine.cpp -------------------------------------------------------------------------------- /Project_C/SourceCode/Engine/UTIL/Timer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Engine/UTIL/Timer.h -------------------------------------------------------------------------------- /Project_C/SourceCode/Engine/stdafx.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Engine/stdafx.cpp -------------------------------------------------------------------------------- /Project_C/SourceCode/Engine/targetver.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Engine/targetver.h -------------------------------------------------------------------------------- /Project_C/SourceCode/Output/Core_x64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Output/Core_x64.dll -------------------------------------------------------------------------------- /Project_C/SourceCode/Output/Core_x86.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Output/Core_x86.dll -------------------------------------------------------------------------------- /Project_C/SourceCode/Output/Engine_include.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../Engine/stdafx.h" 4 | 5 | #include "../Engine/Engine.h" -------------------------------------------------------------------------------- /Project_C/SourceCode/Engine/UTIL/Timer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Engine/UTIL/Timer.cpp -------------------------------------------------------------------------------- /Project_C/SourceCode/Output/Core_import.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Output/Core_import.h -------------------------------------------------------------------------------- /Project_C/SourceCode/Output/Core_include.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Output/Core_include.h -------------------------------------------------------------------------------- /Project_C/SourceCode/Output/Core_x64D.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Output/Core_x64D.dll -------------------------------------------------------------------------------- /Project_C/SourceCode/Output/Core_x86D.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Output/Core_x86D.dll -------------------------------------------------------------------------------- /Project_C/SourceCode/Output/Engine_x64.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Output/Engine_x64.lib -------------------------------------------------------------------------------- /Project_C/SourceCode/Output/Engine_x86.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Output/Engine_x86.lib -------------------------------------------------------------------------------- /Project_C/Library Public Version/ReadMe.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/Library Public Version/ReadMe.txt -------------------------------------------------------------------------------- /Project_C/SourceCode/BasisClass/BasisClass.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/BasisClass/BasisClass.h -------------------------------------------------------------------------------- /Project_C/SourceCode/BasisClass/LOCK/Lock.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/BasisClass/LOCK/Lock.cpp -------------------------------------------------------------------------------- /Project_C/SourceCode/BasisClass/LOCK/Lock.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/BasisClass/LOCK/Lock.h -------------------------------------------------------------------------------- /Project_C/SourceCode/Core/UTIL/DebugMemory.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Core/UTIL/DebugMemory.h -------------------------------------------------------------------------------- /Project_C/SourceCode/Core/UTIL/MemoryPool.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Core/UTIL/MemoryPool.cpp -------------------------------------------------------------------------------- /Project_C/SourceCode/Core/UTIL/MemoryPool.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Core/UTIL/MemoryPool.h -------------------------------------------------------------------------------- /Project_C/SourceCode/Core/UTIL/ObjectPool.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Core/UTIL/ObjectPool.cpp -------------------------------------------------------------------------------- /Project_C/SourceCode/Core/UTIL/ObjectPool.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Core/UTIL/ObjectPool.h -------------------------------------------------------------------------------- /Project_C/SourceCode/Engine/Engine_Init.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Engine/Engine_Init.cpp -------------------------------------------------------------------------------- /Project_C/SourceCode/Engine/UTIL/LogWriter.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Engine/UTIL/LogWriter.h -------------------------------------------------------------------------------- /Project_C/SourceCode/Engine/UTIL/MiniDump.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Engine/UTIL/MiniDump.cpp -------------------------------------------------------------------------------- /Project_C/SourceCode/Engine/UTIL/MiniDump.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Engine/UTIL/MiniDump.h -------------------------------------------------------------------------------- /Project_C/SourceCode/Output/Engine_import.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Output/Engine_import.h -------------------------------------------------------------------------------- /Project_C/SourceCode/Output/Engine_x64D.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Output/Engine_x64D.lib -------------------------------------------------------------------------------- /Project_C/SourceCode/Output/Engine_x86D.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Output/Engine_x86D.lib -------------------------------------------------------------------------------- /Project_C/SourceCode/_Document/Memo Core.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/_Document/Memo Core.txt -------------------------------------------------------------------------------- /Project_C/SourceCode/x64/Release/Core_x64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/x64/Release/Core_x64.dll -------------------------------------------------------------------------------- /Project_C/SourceCode/x86/Release/Core_x86.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/x86/Release/Core_x86.dll -------------------------------------------------------------------------------- /Project_C/SourceCode/x86/Release/LOG/log.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/x86/Release/LOG/log.txt -------------------------------------------------------------------------------- /Project_C/SourceCode/BasisClass/BasisClass.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/BasisClass/BasisClass.hpp -------------------------------------------------------------------------------- /Project_C/SourceCode/Core/UTIL/MemoryPoolCore.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Core/UTIL/MemoryPoolCore.h -------------------------------------------------------------------------------- /Project_C/SourceCode/Engine/UTIL/LogWriter.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Engine/UTIL/LogWriter.cpp -------------------------------------------------------------------------------- /Project_C/SourceCode/Engine/UTIL/Macro_Engine.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Engine/UTIL/Macro_Engine.h -------------------------------------------------------------------------------- /Project_C/SourceCode/Engine/UTIL/SimpleTimer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Engine/UTIL/SimpleTimer.h -------------------------------------------------------------------------------- /Project_C/SourceCode/_Document_Guide/Atomic.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/_Document_Guide/Atomic.txt -------------------------------------------------------------------------------- /Project_C/SourceCode/_Document_Guide/String.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/_Document_Guide/String.txt -------------------------------------------------------------------------------- /Project_C/SourceCode/Core/UTIL/MemoryPoolCore.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Core/UTIL/MemoryPoolCore.cpp -------------------------------------------------------------------------------- /Project_C/SourceCode/Engine/UTIL/SimpleTimer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Engine/UTIL/SimpleTimer.cpp -------------------------------------------------------------------------------- /Project_C/SourceCode/TEST/UnitTest_Core/stdafx.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/TEST/UnitTest_Core/stdafx.cpp -------------------------------------------------------------------------------- /Project_C/SourceCode/TEST/UnitTest_Core/stdafx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/TEST/UnitTest_Core/stdafx.h -------------------------------------------------------------------------------- /Project_C/SourceCode/_Document_Guide/Intrinsic.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/_Document_Guide/Intrinsic.txt -------------------------------------------------------------------------------- /Project_C/SourceCode/x86/Release/LOG/log_debug.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/x86/Release/LOG/log_debug.txt -------------------------------------------------------------------------------- /Project_C/SourceCode Other/Core_UseTest/Core_x64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode Other/Core_UseTest/Core_x64.dll -------------------------------------------------------------------------------- /Project_C/SourceCode Other/Core_UseTest/Core_x86.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode Other/Core_UseTest/Core_x86.dll -------------------------------------------------------------------------------- /Project_C/SourceCode/Core/UTIL/LogWriter_Interface.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Core/UTIL/LogWriter_Interface.h -------------------------------------------------------------------------------- /Project_C/SourceCode/Core/UTIL/System_Information.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Core/UTIL/System_Information.h -------------------------------------------------------------------------------- /Project_C/SourceCode/TEST/UnitTest_Engine/stdafx.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/TEST/UnitTest_Engine/stdafx.cpp -------------------------------------------------------------------------------- /Project_C/SourceCode Other/Core_UseTest/Core_import.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode Other/Core_UseTest/Core_import.h -------------------------------------------------------------------------------- /Project_C/SourceCode Other/Core_UseTest/Core_include.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode Other/Core_UseTest/Core_include.h -------------------------------------------------------------------------------- /Project_C/SourceCode/Core/UTIL/MemoryPool_Interface.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Core/UTIL/MemoryPool_Interface.h -------------------------------------------------------------------------------- /Project_C/SourceCode/Core/UTIL/System_Information.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Core/UTIL/System_Information.cpp -------------------------------------------------------------------------------- /Project_C/SourceCode/TEST/UnitTest_Core/unittest1.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/TEST/UnitTest_Core/unittest1.cpp -------------------------------------------------------------------------------- /Project_C/SourceCode/_Document_Guide/File Directory.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/_Document_Guide/File Directory.txt -------------------------------------------------------------------------------- /Project_C/SourceCode/Core/UTIL/MemoryPool_v2/VMEM_LIST.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Core/UTIL/MemoryPool_v2/VMEM_LIST.h -------------------------------------------------------------------------------- /Project_C/SourceCode/Core/UTIL/MemoryPool_v2/MemoryPool_v2.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Core/UTIL/MemoryPool_v2/MemoryPool_v2.h -------------------------------------------------------------------------------- /Project_C/SourceCode/Core/UTIL/MemoryPool_v2/VMEM_LIST.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Core/UTIL/MemoryPool_v2/VMEM_LIST.cpp -------------------------------------------------------------------------------- /Project_C/SourceCode/x64/Release/ConsoleTestProject_x64.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/x64/Release/ConsoleTestProject_x64.exe -------------------------------------------------------------------------------- /Project_C/SourceCode/x64/Release/tbbmalloc64_44_20150728.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/x64/Release/tbbmalloc64_44_20150728.dll -------------------------------------------------------------------------------- /Project_C/SourceCode/x64/Release/tbbmalloc64_44_20160128.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/x64/Release/tbbmalloc64_44_20160128.dll -------------------------------------------------------------------------------- /Project_C/SourceCode/x86/Release/ConsoleTestProject_x86.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/x86/Release/ConsoleTestProject_x86.exe -------------------------------------------------------------------------------- /Project_C/SourceCode/x86/Release/tbbmalloc86_44_20150728.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/x86/Release/tbbmalloc86_44_20150728.dll -------------------------------------------------------------------------------- /Project_C/SourceCode/x86/Release/tbbmalloc86_44_20160128.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/x86/Release/tbbmalloc86_44_20160128.dll -------------------------------------------------------------------------------- /Project_C/SourceCode/Core/UTIL/MemoryPool_v2/MemoryPool_v2.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Core/UTIL/MemoryPool_v2/MemoryPool_v2.cpp -------------------------------------------------------------------------------- /Project_C/SourceCode/Core/UTIL/System_Information_Interface.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Core/UTIL/System_Information_Interface.h -------------------------------------------------------------------------------- /Project_C/SourceCode/TEST/ConsoleTestProject/test_memorypool.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/TEST/ConsoleTestProject/test_memorypool.h -------------------------------------------------------------------------------- /Project_C/SourceCode/_Document_Guide/Used System Function.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/_Document_Guide/Used System Function.txt -------------------------------------------------------------------------------- /Project_C/SourceCode Other/Calculator_MemoryPool_Demand/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode Other/Calculator_MemoryPool_Demand/main.cpp -------------------------------------------------------------------------------- /Project_C/SourceCode/Core/UTIL/MemoryPool_v2/MemoryPoolCore_v2.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Core/UTIL/MemoryPool_v2/MemoryPoolCore_v2.h -------------------------------------------------------------------------------- /Project_C/Library Public Version/Core Library BETA 2.0/Core_x64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/Library Public Version/Core Library BETA 2.0/Core_x64.dll -------------------------------------------------------------------------------- /Project_C/Library Public Version/Core Library BETA 2.0/Core_x86.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/Library Public Version/Core Library BETA 2.0/Core_x86.dll -------------------------------------------------------------------------------- /Project_C/SourceCode/Core/UTIL/MemoryPool_v2/MemoryPoolCore_v2.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Core/UTIL/MemoryPool_v2/MemoryPoolCore_v2.cpp -------------------------------------------------------------------------------- /Project_C/SourceCode/TEST/ConsoleTestProject/main.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include -------------------------------------------------------------------------------- /Project_C/Library Public Version/Core Library BETA 2.0/Core/stdafx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/Library Public Version/Core Library BETA 2.0/Core/stdafx.h -------------------------------------------------------------------------------- /Project_C/Library Public Version/Core Library BETA 2.0/Core/UTIL/Macro.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/Library Public Version/Core Library BETA 2.0/Core/UTIL/Macro.h -------------------------------------------------------------------------------- /Project_C/Library Public Version/Core Library BETA 2.0/Core/targetver.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/Library Public Version/Core Library BETA 2.0/Core/targetver.h -------------------------------------------------------------------------------- /Project_C/SourceCode/TEST/UnitTest_Core/unittest_MemoryCompare_BYTE.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/TEST/UnitTest_Core/unittest_MemoryCompare_BYTE.cpp -------------------------------------------------------------------------------- /Project_C/Library Public Version/Core Library BETA 2.0/User/Core_import.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/Library Public Version/Core Library BETA 2.0/User/Core_import.h -------------------------------------------------------------------------------- /Project_C/Library Public Version/Core Library BETA 2.0/User/Core_include.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/Library Public Version/Core Library BETA 2.0/User/Core_include.h -------------------------------------------------------------------------------- /Project_C/Library Public Version/Core Library BETA 2.0/Core/UTIL/DebugMemory.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/Library Public Version/Core Library BETA 2.0/Core/UTIL/DebugMemory.h -------------------------------------------------------------------------------- /Project_C/SourceCode/Core/UTIL/MemoryPool_v2/MemoryPool_PrecalculateData_v2.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode/Core/UTIL/MemoryPool_v2/MemoryPool_PrecalculateData_v2.cpp -------------------------------------------------------------------------------- /Project_C/SourceCode/Engine/UTIL/Macro_Engine.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include "./Macro_Engine.h" 3 | 4 | //namespace{ 5 | // const size_t _LenTempStrBuffer = 2048; 6 | //} 7 | 8 | namespace UTIL{ 9 | } -------------------------------------------------------------------------------- /Project_C/Library Public Version/Core Library BETA 2.0/Core/UTIL/LogWriter_Interface.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/Library Public Version/Core Library BETA 2.0/Core/UTIL/LogWriter_Interface.h -------------------------------------------------------------------------------- /Project_C/Library Public Version/Core Library BETA 2.0/Core/UTIL/MemoryPool_Interface.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/Library Public Version/Core Library BETA 2.0/Core/UTIL/MemoryPool_Interface.h -------------------------------------------------------------------------------- /Project_C/SourceCode Other/Calculator_MemoryPool_Demand/Calculator_MemoryPool_Demand.VC.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/SourceCode Other/Calculator_MemoryPool_Demand/Calculator_MemoryPool_Demand.VC.db -------------------------------------------------------------------------------- /Project_C/SourceCode/TEST/UnitTest_Core/UnitTest_Core.vcxproj.user: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Project_C/Library Public Version/Core Library BETA 2.0/Core/UTIL/System_Information_Interface.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lastpenguin/MemoryPool/HEAD/Project_C/Library Public Version/Core Library BETA 2.0/Core/UTIL/System_Information_Interface.h -------------------------------------------------------------------------------- /Project_C/SourceCode/TEST/ConsoleTestProject/ConsoleTestProject.vcxproj.user: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Project_C/SourceCode/x64/Release/TestData.txt: -------------------------------------------------------------------------------- 1 | NumTestCount(1~) : 1 2 | Random Object Size Min(4 ~) : 32 3 | Random Object Size Max(~10485760)(10MB) : 512 4 | Random Seed : 0 5 | Memory Per Test(MB) : 2048 6 | Num Thread(1~32) : 4 7 | Write/Read Test(Y/N) : y -------------------------------------------------------------------------------- /Project_C/SourceCode/x86/Release/TestData.txt: -------------------------------------------------------------------------------- 1 | NumTestCount(1~) : 8 2 | Random Object Size Min(4 ~) : 64 3 | Random Object Size Max(~10485760)(10MB) : 1024 4 | Random Seed : 0 5 | Memory Per Test(MB) : 256 6 | Num Thread(1~32) : 4 7 | Write/Read Test(Y/N) : Y -------------------------------------------------------------------------------- /Project_C/SourceCode/Core/Core.vcxproj.user: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | false 5 | 6 | -------------------------------------------------------------------------------- /Project_C/SourceCode/Engine/Engine.vcxproj.user: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | false 5 | 6 | -------------------------------------------------------------------------------- /Project_C/SourceCode/TEST/ConsoleTestProject/TestData.txt: -------------------------------------------------------------------------------- 1 | NumTestCount(1~) : 8 2 | Random Object Size Min(4 ~) : 64 3 | Random Object Size Max(~10485760)(10MB) : 1024 4 | Random Seed : 0 5 | Memory Per Test(MB) : 256 6 | Num Thread(1~32) : 4 7 | Write/Read Test(Y/N) : Y -------------------------------------------------------------------------------- /Project_C/SourceCode/TEST/ConsoleTestProject/main.cpp: -------------------------------------------------------------------------------- 1 | #include "main.h" 2 | 3 | 4 | #include "./test_memorypool.h" 5 | //#include "./test_memorypool_std_allocator.h" 6 | //#include "./test_MiniDumpWrite.h" 7 | 8 | 9 | int main(int argc, char **argv) 10 | { 11 | ::SetThreadAffinityMask(::GetCurrentThread(), 1); 12 | test(); 13 | return 0; 14 | } -------------------------------------------------------------------------------- /Project_C/SourceCode Other/Core_UseTest/main.cpp: -------------------------------------------------------------------------------- 1 | #include "../../Library Public Version/Core Library BETA 2.0/User/Core_import.h" 2 | 3 | int main() 4 | { 5 | #if __X86 6 | ::CORE::Connect_CORE(_T("Core_x86.dll"), nullptr, nullptr); 7 | #elif __X64 8 | ::CORE::Connect_CORE(_T("Core_x64.dll"), nullptr, nullptr); 9 | #endif 10 | 11 | int *p = nullptr; 12 | _MACRO_NEW__FROM_MEMORYPOOL(p, int(10)); 13 | _MACRO_DELETE__FROM_MEMORYPOOL(p); 14 | 15 | system("pause"); 16 | } -------------------------------------------------------------------------------- /Project_C/SourceCode/Core/CorePrivate.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include "./CorePrivate.h" 3 | 4 | #include "./Core.h" 5 | namespace CORE{ 6 | CCore g_instance_CORE; 7 | UTIL::TUTIL g_instance_UTIL; 8 | 9 | namespace SETTING{ 10 | #if _DEF_MEMORYPOOL_MAJORVERSION == 1 11 | const size_t gc_MemoryPool_minUnits_per_Alloc = 4; 12 | const size_t gc_MemoryPool_maxAllocSize_per_Alloc = 1024*1024*256; // 256MB 13 | #endif 14 | } 15 | } 16 | namespace UTIL{ 17 | TUTIL* g_pUtil = &CORE::g_instance_UTIL; 18 | MEM::IMemoryPool_Manager* g_pMem = nullptr; 19 | 20 | ILogWriter* g_pLogSystem = nullptr; 21 | ILogWriter* g_pLogDebug = nullptr; 22 | } -------------------------------------------------------------------------------- /Project_C/SourceCode Other/Core_UseTest/Core_UseTest.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | 소스 파일 20 | 21 | 22 | -------------------------------------------------------------------------------- /Project_C/SourceCode Other/Calculator_MemoryPool_Demand/Calculator_MemoryPool_Demand.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | 소스 파일 20 | 21 | 22 | -------------------------------------------------------------------------------- /Project_C/SourceCode/TEST/ConsoleTestProject/ConsoleTestProject.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | TEMP 10 | 11 | 12 | TEST 13 | 14 | 15 | TEST 16 | 17 | 18 | TEST 19 | 20 | 21 | 22 | 23 | {fc21ca97-ed87-40c3-bdc5-fdca051a72ed} 24 | 25 | 26 | {ff6bdcda-6ee7-44d7-9929-478642a00595} 27 | 28 | 29 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 lastpenguin 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Project_C/SourceCode/Core/Core_Interface.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "./UTIL/MemoryPool_Interface.h" 3 | #include "./UTIL/System_Information_Interface.h" 4 | #include "./UTIL/LogWriter_Interface.h" 5 | 6 | 7 | namespace CORE{ 8 | __interface ICore; 9 | __forceinline ICore* gFN_Get_CORE(HMODULE hDLL) 10 | { 11 | if(!hDLL) return NULL; 12 | typedef ICore* (*FunctionPTR_Get_CORE)(void); 13 | FunctionPTR_Get_CORE pFN = reinterpret_cast(::GetProcAddress(hDLL, "GetCore")); 14 | if(!pFN) return NULL; 15 | return pFN(); 16 | } 17 | } 18 | 19 | namespace CORE{ 20 | __interface ICore{ 21 | UTIL::TUTIL* mFN_Get_Util(); 22 | UTIL::MEM::IMemoryPool_Manager* mFN_Get_MemoryPoolManager(); 23 | 24 | const UTIL::ISystem_Information* mFN_Get_System_Information(); 25 | 26 | 27 | void mFN_Set_LogWriterInstance__System(::UTIL::ILogWriter* p); 28 | void mFN_Set_LogWriterInstance__Debug(::UTIL::ILogWriter* p); 29 | 30 | const ::UTIL::TSystemTime* mFN_Query_CompileTime(); 31 | void mFN_Write_CoreInformation(::UTIL::ILogWriter* p); 32 | }; 33 | } -------------------------------------------------------------------------------- /Project_C/Library Public Version/Core Library BETA 2.0/ReadMe.txt: -------------------------------------------------------------------------------- 1 | https://github.com/lastpenguin/MemoryPool 2 | lastpenguin83@gmail.com 3 | 4 | 사용 요구사항 5 | visual studio 2015 C++ 6 | 7 | 실행 요구사항 8 | visual studio 2015 C++ 또는, 9 | Visual Studio 2015용 Visual C++ 재배포 가능 패키지 10 | https://www.microsoft.com/ko-kr/download/details.aspx?id=48145 11 | //---------------------------------------------------------------- 12 | 구성 13 | Core_x86.dll Windows XP 이상 14 | Core_x64.dll Windows Vista 이상 15 | ※ 문자 집합 : 유니코드 16 | //---------------------------------------------------------------- 17 | 사용 방법 18 | 초기화를 처리할 cpp 파일에서 다음 파일을 포함(include) 19 | ./User/Core_import.h 20 | 초기화 21 | ::CORE::Connect_CORE(...) 22 | 종료(명시적 종료 시점이 필요할때만 사용) 23 | ::CORE::Disconnect_CORE 24 | 25 | 사용을 위해서는 다음 파일을 포함(include) 26 | ./User/Core_include.h 27 | //---------------------------------------------------------------- 28 | 인터페이스는 다음 파일들을 참조 29 | Core_Interface.h 30 | MemoryPool_Interface.h 31 | System_Information_Interface.h 32 | 33 | 디버깅용 로그 필요시 다음 파일을 참조하여 객체를 정의하여, 초기화시 인스턴스를 전달해야 함 34 | LogWriter_Interface.h 35 | 36 | pLogSystem 중요한 오류등을 기록 37 | pLogDebug 일반 디버깅 정보 38 | -------------------------------------------------------------------------------- /Project_C/Library Public Version/Core Library BETA 2.0/Core/Core_Interface.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "./UTIL/MemoryPool_Interface.h" 3 | #include "./UTIL/System_Information_Interface.h" 4 | #include "./UTIL/LogWriter_Interface.h" 5 | 6 | 7 | namespace CORE{ 8 | __interface ICore; 9 | __forceinline ICore* gFN_Get_CORE(HMODULE hDLL) 10 | { 11 | if(!hDLL) return NULL; 12 | typedef ICore* (*FunctionPTR_Get_CORE)(void); 13 | FunctionPTR_Get_CORE pFN = reinterpret_cast(::GetProcAddress(hDLL, "GetCore")); 14 | if(!pFN) return NULL; 15 | return pFN(); 16 | } 17 | } 18 | 19 | namespace CORE{ 20 | __interface ICore{ 21 | UTIL::TUTIL* mFN_Get_Util(); 22 | UTIL::MEM::IMemoryPool_Manager* mFN_Get_MemoryPoolManager(); 23 | 24 | const UTIL::ISystem_Information* mFN_Get_System_Information(); 25 | 26 | 27 | void mFN_Set_LogWriterInstance__System(::UTIL::ILogWriter* p); 28 | void mFN_Set_LogWriterInstance__Debug(::UTIL::ILogWriter* p); 29 | 30 | const ::UTIL::TSystemTime* mFN_Query_CompileTime(); 31 | void mFN_Write_CoreInformation(::UTIL::ILogWriter* p); 32 | }; 33 | } -------------------------------------------------------------------------------- /Project_C/SourceCode/Engine/ReadMe.txt: -------------------------------------------------------------------------------- 1 | ======================================================================== 2 | 정적 라이브러리 : Engine 프로젝트 개요 3 | ======================================================================== 4 | 5 | 응용 프로그램 마법사에서 이 Engine 라이브러리 프로젝트를 만들었습니다. 6 | 7 | Engine 응용 프로그램을 구성하는 각 파일에 대한 8 | 요약 설명이 포함되어 있습니다. 9 | 10 | 11 | Engine.vcxproj 12 | 응용 프로그램 마법사를 사용하여 생성한 VC++ 프로젝트의 기본 프로젝트 파일입니다. 파일을 생성한 Visual C++ 버전에 대한 정보와 응용 프로그램 마법사를 사용하여 선택한 플랫폼, 구성 및 프로젝트 기능에 대한 정보가 포함되어 있습니다. 13 | 14 | Engine.vcxproj.filters 15 | 응용 프로그램 마법사를 사용하여 생성된 VC++ 프로젝트의 필터 파일입니다. 이 파일에는 프로젝트의 파일과 필터 간의 연결 정보가 들어 있습니다. 이러한 연결은 특정 노드에서 유사한 확장명으로 그룹화된 파일을 표시하기 위해 IDE에서 사용됩니다. 예를 들어 ".cpp" 파일은 "소스 파일" 필터와 연결되어 있습니다. 16 | 17 | 18 | ///////////////////////////////////////////////////////////////////////////// 19 | 20 | StdAfx.h, StdAfx.cpp 21 | 이 파일은 미리 컴파일된 헤더(PCH) 파일 Engine.pch와 미리 컴파일된 형식(PCT) 파일 StdAfx.obj를 빌드하는 데 사용됩니다. 22 | 23 | ///////////////////////////////////////////////////////////////////////////// 24 | 기타 참고: 25 | 26 | 응용 프로그램 마법사에서 사용하는 "TODO:" 주석은 사용자가 추가하거나 사용자 지정해야 하는 소스 코드 부분을 나타냅니다. 27 | 28 | ///////////////////////////////////////////////////////////////////////////// 29 | -------------------------------------------------------------------------------- /Project_C/SourceCode/TEST/ConsoleTestProject/DLL_Opener.h: -------------------------------------------------------------------------------- 1 | class CDLL_Opener : CUnCopyAble{ 2 | public: 3 | CDLL_Opener(); 4 | ~CDLL_Opener(); 5 | 6 | BOOL mFN_Load_Library(LPCSTR szFileName); 7 | BOOL mFN_Load_Library(LPWSTR szFileName); 8 | BOOL mFN_Free_Library(); 9 | FARPROC mFN_Get_ProcAddress(LPCSTR szProcName); 10 | 11 | private: 12 | HMODULE m_hDLL; 13 | }; 14 | 15 | CDLL_Opener::CDLL_Opener() 16 | : m_hDLL(NULL) 17 | { 18 | } 19 | CDLL_Opener::~CDLL_Opener() 20 | { 21 | mFN_Free_Library(); 22 | } 23 | BOOL CDLL_Opener::mFN_Load_Library(LPCSTR szFileName) 24 | { 25 | _Assert(!m_hDLL); 26 | if(m_hDLL) return FALSE; 27 | m_hDLL =::LoadLibraryA(szFileName); 28 | return (m_hDLL)? TRUE : FALSE; 29 | } 30 | BOOL CDLL_Opener::mFN_Load_Library(LPWSTR szFileName) 31 | { 32 | _Assert(!m_hDLL); 33 | if(m_hDLL) return FALSE; 34 | m_hDLL =::LoadLibraryW(szFileName); 35 | return (m_hDLL)? TRUE : FALSE; 36 | } 37 | BOOL CDLL_Opener::mFN_Free_Library() 38 | { 39 | if(!m_hDLL) return FALSE; 40 | return ::FreeLibrary(m_hDLL); 41 | } 42 | FARPROC CDLL_Opener::mFN_Get_ProcAddress(LPCSTR szProcName) 43 | { 44 | if(!m_hDLL) return NULL; 45 | return ::GetProcAddress(m_hDLL, szProcName); 46 | } -------------------------------------------------------------------------------- /Project_C/SourceCode/Core/CorePrivate.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | namespace CORE{ 3 | class CCore; 4 | } 5 | namespace UTIL{ 6 | struct TUTIL; 7 | namespace MEM{ 8 | __interface IMemoryPool_Manager; 9 | } 10 | __interface ILogWriter; 11 | } 12 | 13 | 14 | 15 | namespace CORE{ 16 | extern CCore g_instance_CORE; 17 | extern UTIL::TUTIL g_instance_UTIL; 18 | 19 | namespace SETTING{ 20 | #if _DEF_MEMORYPOOL_MAJORVERSION == 1 21 | extern const size_t gc_MemoryPool_minUnits_per_Alloc; 22 | extern const size_t gc_MemoryPool_maxAllocSize_per_Alloc; 23 | #endif 24 | } 25 | } 26 | 27 | namespace UTIL{ 28 | extern TUTIL* g_pUtil; 29 | extern MEM::IMemoryPool_Manager* g_pMem; 30 | 31 | extern ILogWriter* g_pLogSystem; 32 | extern ILogWriter* g_pLogDebug; 33 | 34 | namespace SETTING{ 35 | #ifndef _DEF__LEN__TEMP_STRING_BUFFER 36 | #define _DEF__LEN__TEMP_STRING_BUFFER 37 | static const size_t gc_LenTempStrBuffer = 64 * 1024; // 64KB 38 | #endif 39 | } 40 | } 41 | 42 | #ifndef _LOG_SYSTEM_INSTANCE_POINTER 43 | #define _LOG_SYSTEM_INSTANCE_POINTER (::UTIL::g_pLogSystem) 44 | #endif 45 | #ifndef _LOG_DEBUG__INSTANCE_POINTER 46 | #define _LOG_DEBUG__INSTANCE_POINTER (::UTIL::g_pLogDebug) 47 | #endif -------------------------------------------------------------------------------- /Project_C/SourceCode/TEST/ConsoleTestProject/test_MiniDumpWrite.h: -------------------------------------------------------------------------------- 1 | #include "../../Output/Engine_include.h" 2 | #include "../../Output/Engine_import.h" 3 | 4 | #pragma warning(disable: 4101) 5 | #pragma warning(disable: 4717) 6 | ::ENGINE::CEngine engine; 7 | #define MiniDump CMiniDump 8 | 9 | void test0() 10 | { 11 | const BOOL bExitProgram = 1; 12 | MiniDump::ForceDump(bExitProgram); 13 | } 14 | void test1() 15 | { 16 | int* p = nullptr; 17 | *p = 0; 18 | } 19 | void test2() 20 | { 21 | void* p = _alloca(1024); 22 | test2(); 23 | } 24 | void test3() 25 | { 26 | for(;;) 27 | { 28 | const size_t nSize = 1024 * 1024 * 64; // 64MB 29 | void* p = new char[nSize]; 30 | printf("0x%p = %s\n", p, 31 | (p)? "SUCCEED" : "FAILED"); 32 | } 33 | } 34 | void test() 35 | { 36 | void(*pArray[])(void) = 37 | { 38 | test0, test1, test2, test3, 39 | }; 40 | 41 | printf("Seletect Test\n" 42 | "[0] ForceDumpWrite\n" 43 | "[1] Invalid Pointer Access\n" 44 | "[2] Stack Overflow\n" 45 | "[3] Fail new\n" 46 | ); 47 | int iTest; 48 | scanf_s("%d", &iTest); 49 | 50 | const int MaxValidTestCase = _MACRO_ARRAY_COUNT(pArray); 51 | if(iTest < 0 || MaxValidTestCase <= iTest) 52 | return; 53 | 54 | pArray[iTest](); 55 | 56 | ::system("pause"); 57 | } -------------------------------------------------------------------------------- /Project_C/SourceCode Other/Core_UseTest/Core_UseTest.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.25420.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Core_UseTest", "Core_UseTest.vcxproj", "{FD316FA3-D3D5-419F-B57B-A23D1C01D0ED}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|x64 = Debug|x64 11 | Debug|x86 = Debug|x86 12 | Release|x64 = Release|x64 13 | Release|x86 = Release|x86 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {FD316FA3-D3D5-419F-B57B-A23D1C01D0ED}.Debug|x64.ActiveCfg = Debug|x64 17 | {FD316FA3-D3D5-419F-B57B-A23D1C01D0ED}.Debug|x64.Build.0 = Debug|x64 18 | {FD316FA3-D3D5-419F-B57B-A23D1C01D0ED}.Debug|x86.ActiveCfg = Debug|Win32 19 | {FD316FA3-D3D5-419F-B57B-A23D1C01D0ED}.Debug|x86.Build.0 = Debug|Win32 20 | {FD316FA3-D3D5-419F-B57B-A23D1C01D0ED}.Release|x64.ActiveCfg = Release|x64 21 | {FD316FA3-D3D5-419F-B57B-A23D1C01D0ED}.Release|x64.Build.0 = Release|x64 22 | {FD316FA3-D3D5-419F-B57B-A23D1C01D0ED}.Release|x86.ActiveCfg = Release|Win32 23 | {FD316FA3-D3D5-419F-B57B-A23D1C01D0ED}.Release|x86.Build.0 = Release|Win32 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | EndGlobal 29 | -------------------------------------------------------------------------------- /Project_C/SourceCode/Core/Core.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "./Core_Interface.h" 3 | 4 | 5 | 6 | namespace CORE{ 7 | class CCore : public ICore{ 8 | public: 9 | CCore(); 10 | ~CCore(); 11 | 12 | public: 13 | virtual UTIL::TUTIL* mFN_Get_Util() override; 14 | virtual UTIL::MEM::IMemoryPool_Manager* mFN_Get_MemoryPoolManager() override; 15 | virtual const UTIL::ISystem_Information* CCore::mFN_Get_System_Information() override; 16 | 17 | virtual void mFN_Set_LogWriterInstance__System(::UTIL::ILogWriter* p) override; 18 | virtual void mFN_Set_LogWriterInstance__Debug(::UTIL::ILogWriter* p) override; 19 | 20 | virtual const ::UTIL::TSystemTime* mFN_Query_CompileTime() override; 21 | virtual void mFN_Write_CoreInformation(::UTIL::ILogWriter* pLog) override; 22 | 23 | public: 24 | UINT32 mFN_Query_MemoryPool_Version_Major() const; 25 | UINT32 mFN_Query_MemoryPool_Version_Minor() const; 26 | void mFN_Set_ModuleName(HMODULE hModule); 27 | void mFN_Set_OnOff_IsLimitedVersion_Messagebox(BOOL _ON); 28 | 29 | private: 30 | ::UTIL::TSystemTime m_time_Compile; 31 | 32 | TCHAR m_szCurrentDirectory[MAX_PATH]; 33 | TCHAR m_szCoreDLL_FilePath[MAX_PATH]; 34 | TCHAR m_szExecute_FilePath[MAX_PATH]; 35 | LPCTSTR m_pszCoreDLL_FileName; 36 | LPCTSTR m_pszExecute_FileName; 37 | }; 38 | } -------------------------------------------------------------------------------- /Project_C/SourceCode Other/Calculator_MemoryPool_Demand/Calculator_MemoryPool_Demand.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.25123.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Calculator_MemoryPool_Demand", "Calculator_MemoryPool_Demand.vcxproj", "{C24B81DD-8A7B-427D-80C0-06627D4CDC7A}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|x64 = Debug|x64 11 | Debug|x86 = Debug|x86 12 | Release|x64 = Release|x64 13 | Release|x86 = Release|x86 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {C24B81DD-8A7B-427D-80C0-06627D4CDC7A}.Debug|x64.ActiveCfg = Debug|x64 17 | {C24B81DD-8A7B-427D-80C0-06627D4CDC7A}.Debug|x64.Build.0 = Debug|x64 18 | {C24B81DD-8A7B-427D-80C0-06627D4CDC7A}.Debug|x86.ActiveCfg = Debug|Win32 19 | {C24B81DD-8A7B-427D-80C0-06627D4CDC7A}.Debug|x86.Build.0 = Debug|Win32 20 | {C24B81DD-8A7B-427D-80C0-06627D4CDC7A}.Release|x64.ActiveCfg = Release|x64 21 | {C24B81DD-8A7B-427D-80C0-06627D4CDC7A}.Release|x64.Build.0 = Release|x64 22 | {C24B81DD-8A7B-427D-80C0-06627D4CDC7A}.Release|x86.ActiveCfg = Release|Win32 23 | {C24B81DD-8A7B-427D-80C0-06627D4CDC7A}.Release|x86.Build.0 = Release|Win32 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | EndGlobal 29 | -------------------------------------------------------------------------------- /Project_C/SourceCode/TEST/UnitTest_Core/UnitTest_Core.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 10 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 11 | 12 | 13 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 14 | h;hh;hpp;hxx;hm;inl;inc;xsd 15 | 16 | 17 | {0321e664-5f0e-45d1-8fa7-8bc6aa653733} 18 | 19 | 20 | {eb8447ac-8baa-4cb3-974c-e76ee44bc41c} 21 | 22 | 23 | {bbaaae7a-0657-41e7-9a74-c072d101048c} 24 | 25 | 26 | {7d91863c-9ae5-40c7-a600-6c8b9ad7709d} 27 | 28 | 29 | {bf341c33-4a8e-4b54-a11d-adf9f39c6da5} 30 | 31 | 32 | 33 | 34 | 미리 컴파일된 헤더 35 | 36 | 37 | Source Reference : ReadOnly\Core\UTIL 38 | 39 | 40 | Source Reference : ReadOnly\Core\UTIL 41 | 42 | 43 | Source Reference : ReadOnly\Core\UTIL\MemoryPool\V2 44 | 45 | 46 | Source Reference : ReadOnly\Core\UTIL\MemoryPool\V2 47 | 48 | 49 | Source Reference : ReadOnly\Core\UTIL\MemoryPool\V2 50 | 51 | 52 | Source Reference : ReadOnly\Core\UTIL\MemoryPool\V2 53 | 54 | 55 | Source Reference : ReadOnly\Core\UTIL\MemoryPool 56 | 57 | 58 | Source Reference : ReadOnly\Core\UTIL\MemoryPool 59 | 60 | 61 | Source Reference : ReadOnly\Core\UTIL\MemoryPool 62 | 63 | 64 | Source Reference : ReadOnly\Core 65 | 66 | 67 | Source Reference : ReadOnly\Core 68 | 69 | 70 | Source Reference : ReadOnly\Core 71 | 72 | 73 | Source Reference : ReadOnly 74 | 75 | 76 | 소스 파일 77 | 78 | 79 | 80 | 81 | 미리 컴파일된 헤더 82 | 83 | 84 | -------------------------------------------------------------------------------- /Project_C/SourceCode/Engine/Engine.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {fe661f02-e9e0-4a75-8887-215e60e5b266} 6 | 7 | 8 | {de764e15-01a1-44ca-ad5b-d7304fefda6e} 9 | 10 | 11 | {0987c2ac-5951-4092-9a82-00556ea73b22} 12 | 13 | 14 | {f51cdbb0-dab6-4671-9144-6ebecd44aaaa} 15 | 16 | 17 | {34cdbf35-4158-4fc9-9802-b7c58954da5d} 18 | 19 | 20 | {d6c49024-dbf9-4504-b348-fa6c5d4380bb} 21 | 22 | 23 | {4444667d-4304-45f3-9c0e-ab21445129da} 24 | 25 | 26 | {3b4b4e62-d89c-433d-9935-09fbc014f7d7} 27 | 28 | 29 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 30 | h;hh;hpp;hxx;hm;inl;inc;xsd 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | Pre Compile Header 39 | 40 | 41 | Pre Compile Header 42 | 43 | 44 | 45 | UTIL 46 | 47 | 48 | 공용 코드 49 | 50 | 51 | UTIL\Mini Dump 52 | 53 | 54 | UTIL\String Pool 55 | 56 | 57 | UTIL\String Pool 58 | 59 | 60 | UTIL\LogWriter 61 | 62 | 63 | UTIL\Timer 64 | 65 | 66 | UTIL\Timer 67 | 68 | 69 | Window 70 | 71 | 72 | Window 73 | 74 | 75 | DX 76 | 77 | 78 | 79 | 80 | Pre Compile Header 81 | 82 | 83 | 84 | UTIL 85 | 86 | 87 | 공용 코드 88 | 89 | 90 | UTIL\Mini Dump 91 | 92 | 93 | UTIL\LogWriter 94 | 95 | 96 | UTIL\Timer 97 | 98 | 99 | UTIL\Timer 100 | 101 | 102 | Window 103 | 104 | 105 | Window 106 | 107 | 108 | Window 109 | 110 | 111 | DX 112 | 113 | 114 | 115 | -------------------------------------------------------------------------------- /Project_C/SourceCode/Core/Core.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {70b9bff0-4134-4aef-881e-d8dc88da755c} 6 | 7 | 8 | {9dcb5135-955e-4724-8381-c87a69ab993b} 9 | 10 | 11 | {1980fa73-4fd8-411c-b3ee-d1570b40d4b7} 12 | 13 | 14 | {17650948-9c07-4eca-a96e-bd318206fc16} 15 | 16 | 17 | {f1069fbe-4914-41ff-ac4f-f770a4c2cbd6} 18 | 19 | 20 | {7d92fde4-6fb4-48f1-b821-ea584f4c9899} 21 | 22 | 23 | {8b971146-7dda-4acb-9ef7-5b191788d95c} 24 | 25 | 26 | {a6507c71-178e-495f-98e8-b4c538b60327} 27 | 28 | 29 | {42e5bbad-7cb9-4789-97f4-51c7383d2495} 30 | 31 | 32 | 33 | 34 | Pre Compile Header 35 | 36 | 37 | Pre Compile Header 38 | 39 | 40 | 41 | 42 | UTIL 43 | 44 | 45 | UTIL 46 | 47 | 48 | 49 | UTIL\Memory Pool 50 | 51 | 52 | 공용 코드 53 | 54 | 55 | UTIL\System Information 56 | 57 | 58 | UTIL\System Information 59 | 60 | 61 | UTIL\LogWriter 62 | 63 | 64 | UTIL\Memory Pool 65 | 66 | 67 | UTIL\Memory Pool\V2 68 | 69 | 70 | UTIL\Memory Pool\V2 71 | 72 | 73 | UTIL\Memory Pool\V1 74 | 75 | 76 | UTIL\Memory Pool\V1 77 | 78 | 79 | UTIL\Memory Pool\V2 80 | 81 | 82 | UTIL\Number 83 | 84 | 85 | 86 | 87 | 88 | 89 | Pre Compile Header 90 | 91 | 92 | 93 | UTIL 94 | 95 | 96 | 공용 코드 97 | 98 | 99 | UTIL\System Information 100 | 101 | 102 | UTIL\Memory Pool 103 | 104 | 105 | UTIL\Memory Pool\V2 106 | 107 | 108 | UTIL\Memory Pool\V2 109 | 110 | 111 | UTIL\Memory Pool\V1 112 | 113 | 114 | UTIL\Memory Pool\V1 115 | 116 | 117 | UTIL\Memory Pool\V2 118 | 119 | 120 | UTIL\Memory Pool\V2 121 | 122 | 123 | -------------------------------------------------------------------------------- /Project_C/SourceCode/TEST/ConsoleTestProject/test_memorypool_std_allocator.h: -------------------------------------------------------------------------------- 1 | #include "../../Output/Engine_include.h" 2 | #include "../../Output/Engine_import.h" 3 | 4 | #pragma warning(disable: 4996) 5 | 6 | 7 | //#include 8 | //#include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | 18 | 19 | //#include 20 | // 0 : default allocator 21 | const size_t g_nLoop = 6; 22 | const size_t g_nDatas = 1000 * 1000; 23 | 24 | typedef size_t _TYPE; 25 | typedef size_t _TYPE_KEY; 26 | 27 | //auto cmpless = [](const _TYPE_KEY& a, const _TYPE_KEY& b) -> bool {return a < b;}; 28 | namespace POOL{ 29 | ::ENGINE::CEngine g_Engine; 30 | typedef std::list<_TYPE, ::UTIL::MEM::TAllocator<_TYPE>> _TYPE_Container_list; 31 | typedef std::vector<_TYPE, ::UTIL::MEM::TAllocator<_TYPE>> _TYPE_Container_vector; 32 | typedef std::deque<_TYPE, ::UTIL::MEM::TAllocator> _TYPE_Container_deque; 33 | typedef std::set<_TYPE_KEY, std::less<_TYPE_KEY>, ::UTIL::MEM::TAllocator<_TYPE_KEY>> _TYPE_Container_set; 34 | typedef std::map<_TYPE_KEY, _TYPE, std::less<_TYPE_KEY>, ::UTIL::MEM::TAllocator>> _TYPE_Container_map; 35 | typedef std::unordered_map<_TYPE_KEY, _TYPE, std::hash<_TYPE_KEY>, std::equal_to<_TYPE_KEY>, ::UTIL::MEM::TAllocator>> _TYPE_Container_unordered_map; 36 | } 37 | namespace DEFAULT{ 38 | typedef std::list<_TYPE> _TYPE_Container_list; 39 | typedef std::vector<_TYPE> _TYPE_Container_vector; 40 | typedef std::deque<_TYPE> _TYPE_Container_deque; 41 | typedef std::set<_TYPE_KEY, std::less<_TYPE_KEY>> _TYPE_Container_set; 42 | typedef std::map<_TYPE_KEY, _TYPE, std::less<_TYPE_KEY>> _TYPE_Container_map; 43 | typedef std::unordered_map<_TYPE_KEY, _TYPE, std::hash<_TYPE_KEY>, std::equal_to<_TYPE_KEY>> _TYPE_Container_unordered_map; 44 | } 45 | 46 | namespace{ 47 | template 48 | void test_list(T* pCon) 49 | { 50 | T& l = *pCon; 51 | for(size_t i=0; i 57 | void test_vector(T* pCon) 58 | { 59 | T& v = *pCon; 60 | for(size_t i=0; i 66 | void test_deque(T* pCon) 67 | { 68 | T& d = *pCon; 69 | for(size_t i=0; i 75 | void test_set(T* pCon) 76 | { 77 | T& s = *pCon; 78 | for(size_t i=0; i 84 | void test_map(T* pCon) 85 | { 86 | T& m = *pCon; 87 | for(size_t i=0; i 93 | void test_unordered_map(T* pCon) 94 | { 95 | T& m = *pCon; 96 | for(size_t i=0; i 103 | void testcon(TFN1 pFN1, T1* pContainer1, TFN2 pFN2, T2* pContainer2, LPCSTR name) 104 | { 105 | for(size_t nLoop=0; nLoop, &l1, test_list, &l2, "list"); 152 | testcon(test_vector, &v1, test_vector, &v2, "vector"); 153 | testcon(test_deque, &d1, test_deque, &d2, "deque"); 154 | testcon(test_set, &s1, test_set, &s2, "set"); 155 | testcon(test_map, &m1, test_map, &m2, "map"); 156 | testcon(test_unordered_map, &um1, test_unordered_map, &um2, "unordered map"); 157 | 158 | system("pause"); 159 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ## Ignore Visual Studio temporary files, build results, and 2 | ## files generated by popular Visual Studio add-ons. 3 | ## 4 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore 5 | 6 | # User-specific files 7 | *.suo 8 | *.user 9 | *.userosscache 10 | *.sln.docstates 11 | 12 | # User-specific files (MonoDevelop/Xamarin Studio) 13 | *.userprefs 14 | 15 | # Build results 16 | [Dd]ebug/ 17 | [Dd]ebugPublic/ 18 | [Rr]elease/ 19 | [Rr]eleases/ 20 | x64/ 21 | x86/ 22 | bld/ 23 | [Bb]in/ 24 | [Oo]bj/ 25 | [Ll]og/ 26 | 27 | # Visual Studio 2015 cache/options directory 28 | .vs/ 29 | # Uncomment if you have tasks that create the project's static files in wwwroot 30 | #wwwroot/ 31 | 32 | # MSTest test Results 33 | [Tt]est[Rr]esult*/ 34 | [Bb]uild[Ll]og.* 35 | 36 | # NUNIT 37 | *.VisualState.xml 38 | TestResult.xml 39 | 40 | # Build Results of an ATL Project 41 | [Dd]ebugPS/ 42 | [Rr]eleasePS/ 43 | dlldata.c 44 | 45 | # .NET Core 46 | project.lock.json 47 | project.fragment.lock.json 48 | artifacts/ 49 | **/Properties/launchSettings.json 50 | 51 | *_i.c 52 | *_p.c 53 | *_i.h 54 | *.ilk 55 | *.meta 56 | *.obj 57 | *.pch 58 | *.pdb 59 | *.pgc 60 | *.pgd 61 | *.rsp 62 | *.sbr 63 | *.tlb 64 | *.tli 65 | *.tlh 66 | *.tmp 67 | *.tmp_proj 68 | *.log 69 | *.vspscc 70 | *.vssscc 71 | .builds 72 | *.pidb 73 | *.svclog 74 | *.scc 75 | 76 | # Chutzpah Test files 77 | _Chutzpah* 78 | 79 | # Visual C++ cache files 80 | ipch/ 81 | *.aps 82 | *.ncb 83 | *.opendb 84 | *.opensdf 85 | *.sdf 86 | *.cachefile 87 | *.VC.db 88 | *.VC.VC.opendb 89 | 90 | # Visual Studio profiler 91 | *.psess 92 | *.vsp 93 | *.vspx 94 | *.sap 95 | 96 | # TFS 2012 Local Workspace 97 | $tf/ 98 | 99 | # Guidance Automation Toolkit 100 | *.gpState 101 | 102 | # ReSharper is a .NET coding add-in 103 | _ReSharper*/ 104 | *.[Rr]e[Ss]harper 105 | *.DotSettings.user 106 | 107 | # JustCode is a .NET coding add-in 108 | .JustCode 109 | 110 | # TeamCity is a build add-in 111 | _TeamCity* 112 | 113 | # DotCover is a Code Coverage Tool 114 | *.dotCover 115 | 116 | # Visual Studio code coverage results 117 | *.coverage 118 | *.coveragexml 119 | 120 | # NCrunch 121 | _NCrunch_* 122 | .*crunch*.local.xml 123 | nCrunchTemp_* 124 | 125 | # MightyMoose 126 | *.mm.* 127 | AutoTest.Net/ 128 | 129 | # Web workbench (sass) 130 | .sass-cache/ 131 | 132 | # Installshield output folder 133 | [Ee]xpress/ 134 | 135 | # DocProject is a documentation generator add-in 136 | DocProject/buildhelp/ 137 | DocProject/Help/*.HxT 138 | DocProject/Help/*.HxC 139 | DocProject/Help/*.hhc 140 | DocProject/Help/*.hhk 141 | DocProject/Help/*.hhp 142 | DocProject/Help/Html2 143 | DocProject/Help/html 144 | 145 | # Click-Once directory 146 | publish/ 147 | 148 | # Publish Web Output 149 | *.[Pp]ublish.xml 150 | *.azurePubxml 151 | # TODO: Comment the next line if you want to checkin your web deploy settings 152 | # but database connection strings (with potential passwords) will be unencrypted 153 | *.pubxml 154 | *.publishproj 155 | 156 | # Microsoft Azure Web App publish settings. Comment the next line if you want to 157 | # checkin your Azure Web App publish settings, but sensitive information contained 158 | # in these scripts will be unencrypted 159 | PublishScripts/ 160 | 161 | # NuGet Packages 162 | *.nupkg 163 | # The packages folder can be ignored because of Package Restore 164 | **/packages/* 165 | # except build/, which is used as an MSBuild target. 166 | !**/packages/build/ 167 | # Uncomment if necessary however generally it will be regenerated when needed 168 | #!**/packages/repositories.config 169 | # NuGet v3's project.json files produces more ignorable files 170 | *.nuget.props 171 | *.nuget.targets 172 | 173 | # Microsoft Azure Build Output 174 | csx/ 175 | *.build.csdef 176 | 177 | # Microsoft Azure Emulator 178 | ecf/ 179 | rcf/ 180 | 181 | # Windows Store app package directories and files 182 | AppPackages/ 183 | BundleArtifacts/ 184 | Package.StoreAssociation.xml 185 | _pkginfo.txt 186 | 187 | # Visual Studio cache files 188 | # files ending in .cache can be ignored 189 | *.[Cc]ache 190 | # but keep track of directories ending in .cache 191 | !*.[Cc]ache/ 192 | 193 | # Others 194 | ClientBin/ 195 | ~$* 196 | *~ 197 | *.dbmdl 198 | *.dbproj.schemaview 199 | *.jfm 200 | *.pfx 201 | *.publishsettings 202 | orleans.codegen.cs 203 | 204 | # Since there are multiple workflows, uncomment next line to ignore bower_components 205 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) 206 | #bower_components/ 207 | 208 | # RIA/Silverlight projects 209 | Generated_Code/ 210 | 211 | # Backup & report files from converting an old project file 212 | # to a newer Visual Studio version. Backup files are not needed, 213 | # because we have git ;-) 214 | _UpgradeReport_Files/ 215 | Backup*/ 216 | UpgradeLog*.XML 217 | UpgradeLog*.htm 218 | 219 | # SQL Server files 220 | *.mdf 221 | *.ldf 222 | *.ndf 223 | 224 | # Business Intelligence projects 225 | *.rdl.data 226 | *.bim.layout 227 | *.bim_*.settings 228 | 229 | # Microsoft Fakes 230 | FakesAssemblies/ 231 | 232 | # GhostDoc plugin setting file 233 | *.GhostDoc.xml 234 | 235 | # Node.js Tools for Visual Studio 236 | .ntvs_analysis.dat 237 | node_modules/ 238 | 239 | # Typescript v1 declaration files 240 | typings/ 241 | 242 | # Visual Studio 6 build log 243 | *.plg 244 | 245 | # Visual Studio 6 workspace options file 246 | *.opt 247 | 248 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) 249 | *.vbw 250 | 251 | # Visual Studio LightSwitch build output 252 | **/*.HTMLClient/GeneratedArtifacts 253 | **/*.DesktopClient/GeneratedArtifacts 254 | **/*.DesktopClient/ModelManifest.xml 255 | **/*.Server/GeneratedArtifacts 256 | **/*.Server/ModelManifest.xml 257 | _Pvt_Extensions 258 | 259 | # Paket dependency manager 260 | .paket/paket.exe 261 | paket-files/ 262 | 263 | # FAKE - F# Make 264 | .fake/ 265 | 266 | # JetBrains Rider 267 | .idea/ 268 | *.sln.iml 269 | 270 | # CodeRush 271 | .cr/ 272 | 273 | # Python Tools for Visual Studio (PTVS) 274 | __pycache__/ 275 | *.pyc 276 | 277 | # Cake - Uncomment if you are using it 278 | # tools/** 279 | # !tools/packages.config 280 | 281 | # Telerik's JustMock configuration file 282 | *.jmconfig 283 | 284 | # BizTalk build output 285 | *.btp.cs 286 | *.btm.cs 287 | *.odx.cs 288 | *.xsd.cs 289 | Project_C/SourceCode/Core/Compile_Log.txt 290 | Project_C/SourceCode/x86/Release/LOG/log.txt 291 | Project_C/SourceCode/x86/Release/LOG/log_debug.txt 292 | Project_C/SourceCode/Engine/Compile_Log.txt 293 | -------------------------------------------------------------------------------- /Project_C/SourceCode/SourceCode.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.25420.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Core", "Core\Core.vcxproj", "{DB2B07D2-458F-480C-A6DA-459992F61CB8}" 7 | EndProject 8 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TEST", "TEST", "{BB22E726-CB29-4B8E-9419-3E8BD3786633}" 9 | EndProject 10 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Engine", "Engine", "{CAF35193-5EC1-4E1C-9D6D-DD313B2F7867}" 11 | EndProject 12 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ConsoleTestProject", "TEST\ConsoleTestProject\ConsoleTestProject.vcxproj", "{297399B0-029D-40A7-B62F-664C1E2A3008}" 13 | ProjectSection(ProjectDependencies) = postProject 14 | {03E09A3B-CC08-4AE4-91A3-B6A8273A24B8} = {03E09A3B-CC08-4AE4-91A3-B6A8273A24B8} 15 | EndProjectSection 16 | EndProject 17 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_BasisClass", "_BasisClass", "{B614D4F1-467C-4AAE-A43D-E4F84F43427C}" 18 | ProjectSection(SolutionItems) = preProject 19 | BasisClass\BasisClass.h = BasisClass\BasisClass.h 20 | BasisClass\BasisClass.hpp = BasisClass\BasisClass.hpp 21 | BasisClass\BasisClass_D3D.h = BasisClass\BasisClass_D3D.h 22 | BasisClass\BasisClass_D3DObjectManager.h = BasisClass\BasisClass_D3DObjectManager.h 23 | BasisClass\BasisClass_ManagedD3DObject.h = BasisClass\BasisClass_ManagedD3DObject.h 24 | BasisClass\BasisClass_ManagedObject.h = BasisClass\BasisClass_ManagedObject.h 25 | BasisClass\BasisClass_ManagedObject.hpp = BasisClass\BasisClass_ManagedObject.hpp 26 | BasisClass\BasisClass_ManagedObject__Interface.h = BasisClass\BasisClass_ManagedObject__Interface.h 27 | BasisClass\BasisClass_ManagedObject__Interface.hpp = BasisClass\BasisClass_ManagedObject__Interface.hpp 28 | BasisClass\BasisClass_ObjectManager.h = BasisClass\BasisClass_ObjectManager.h 29 | BasisClass\BasisClass_ObjectManager.hpp = BasisClass\BasisClass_ObjectManager.hpp 30 | BasisClass\BasisClass_ObjectManager__Interface.h = BasisClass\BasisClass_ObjectManager__Interface.h 31 | EndProjectSection 32 | EndProject 33 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Engine", "Engine\Engine.vcxproj", "{03E09A3B-CC08-4AE4-91A3-B6A8273A24B8}" 34 | ProjectSection(ProjectDependencies) = postProject 35 | {DB2B07D2-458F-480C-A6DA-459992F61CB8} = {DB2B07D2-458F-480C-A6DA-459992F61CB8} 36 | EndProjectSection 37 | EndProject 38 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Output", "Output", "{B3395D9E-E0EA-4323-BA81-D6B714272CE0}" 39 | ProjectSection(SolutionItems) = preProject 40 | Output\Core_import.h = Output\Core_import.h 41 | Output\Core_include.h = Output\Core_include.h 42 | Output\Engine_import.h = Output\Engine_import.h 43 | Output\Engine_include.h = Output\Engine_include.h 44 | EndProjectSection 45 | EndProject 46 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_Document", "_Document", "{1668B65D-E7A0-4305-B659-98E01579F1B3}" 47 | ProjectSection(SolutionItems) = preProject 48 | _Document\Memo Core.txt = _Document\Memo Core.txt 49 | EndProjectSection 50 | EndProject 51 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_Guide", "_Guide", "{57025A7C-C9DD-4748-ABD3-B7E976F2FF67}" 52 | ProjectSection(SolutionItems) = preProject 53 | _Document_Guide\Atomic.txt = _Document_Guide\Atomic.txt 54 | _Document_Guide\File Directory.txt = _Document_Guide\File Directory.txt 55 | _Document_Guide\Intrinsic.txt = _Document_Guide\Intrinsic.txt 56 | _Document_Guide\String.txt = _Document_Guide\String.txt 57 | _Document_Guide\Used System Function.txt = _Document_Guide\Used System Function.txt 58 | EndProjectSection 59 | EndProject 60 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UnitTest_Core", "TEST\UnitTest_Core\UnitTest_Core.vcxproj", "{0F5D2B75-04E6-450D-A20F-0CE76A0F2A3A}" 61 | ProjectSection(ProjectDependencies) = postProject 62 | {DB2B07D2-458F-480C-A6DA-459992F61CB8} = {DB2B07D2-458F-480C-A6DA-459992F61CB8} 63 | EndProjectSection 64 | EndProject 65 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UnitTest_Engine", "TEST\UnitTest_Engine\UnitTest_Engine.vcxproj", "{F3047421-698D-45FD-B35A-A24503073878}" 66 | ProjectSection(ProjectDependencies) = postProject 67 | {DB2B07D2-458F-480C-A6DA-459992F61CB8} = {DB2B07D2-458F-480C-A6DA-459992F61CB8} 68 | EndProjectSection 69 | EndProject 70 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Unit Test", "Unit Test", "{5E8D42E2-B5CC-4694-B6B8-F9522E8AB84A}" 71 | EndProject 72 | Global 73 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 74 | Debug|x64 = Debug|x64 75 | Debug|x86 = Debug|x86 76 | Release|x64 = Release|x64 77 | Release|x86 = Release|x86 78 | EndGlobalSection 79 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 80 | {DB2B07D2-458F-480C-A6DA-459992F61CB8}.Debug|x64.ActiveCfg = Debug|x64 81 | {DB2B07D2-458F-480C-A6DA-459992F61CB8}.Debug|x64.Build.0 = Debug|x64 82 | {DB2B07D2-458F-480C-A6DA-459992F61CB8}.Debug|x86.ActiveCfg = Debug|Win32 83 | {DB2B07D2-458F-480C-A6DA-459992F61CB8}.Debug|x86.Build.0 = Debug|Win32 84 | {DB2B07D2-458F-480C-A6DA-459992F61CB8}.Release|x64.ActiveCfg = Release|x64 85 | {DB2B07D2-458F-480C-A6DA-459992F61CB8}.Release|x64.Build.0 = Release|x64 86 | {DB2B07D2-458F-480C-A6DA-459992F61CB8}.Release|x86.ActiveCfg = Release|Win32 87 | {DB2B07D2-458F-480C-A6DA-459992F61CB8}.Release|x86.Build.0 = Release|Win32 88 | {297399B0-029D-40A7-B62F-664C1E2A3008}.Debug|x64.ActiveCfg = Debug|x64 89 | {297399B0-029D-40A7-B62F-664C1E2A3008}.Debug|x86.ActiveCfg = Debug|Win32 90 | {297399B0-029D-40A7-B62F-664C1E2A3008}.Release|x64.ActiveCfg = Release|x64 91 | {297399B0-029D-40A7-B62F-664C1E2A3008}.Release|x86.ActiveCfg = Release|Win32 92 | {03E09A3B-CC08-4AE4-91A3-B6A8273A24B8}.Debug|x64.ActiveCfg = Debug|x64 93 | {03E09A3B-CC08-4AE4-91A3-B6A8273A24B8}.Debug|x64.Build.0 = Debug|x64 94 | {03E09A3B-CC08-4AE4-91A3-B6A8273A24B8}.Debug|x86.ActiveCfg = Debug|Win32 95 | {03E09A3B-CC08-4AE4-91A3-B6A8273A24B8}.Debug|x86.Build.0 = Debug|Win32 96 | {03E09A3B-CC08-4AE4-91A3-B6A8273A24B8}.Release|x64.ActiveCfg = Release|x64 97 | {03E09A3B-CC08-4AE4-91A3-B6A8273A24B8}.Release|x64.Build.0 = Release|x64 98 | {03E09A3B-CC08-4AE4-91A3-B6A8273A24B8}.Release|x86.ActiveCfg = Release|Win32 99 | {03E09A3B-CC08-4AE4-91A3-B6A8273A24B8}.Release|x86.Build.0 = Release|Win32 100 | {0F5D2B75-04E6-450D-A20F-0CE76A0F2A3A}.Debug|x64.ActiveCfg = Debug|x64 101 | {0F5D2B75-04E6-450D-A20F-0CE76A0F2A3A}.Debug|x86.ActiveCfg = Debug|Win32 102 | {0F5D2B75-04E6-450D-A20F-0CE76A0F2A3A}.Release|x64.ActiveCfg = Release|x64 103 | {0F5D2B75-04E6-450D-A20F-0CE76A0F2A3A}.Release|x86.ActiveCfg = Release|Win32 104 | {F3047421-698D-45FD-B35A-A24503073878}.Debug|x64.ActiveCfg = Debug|x64 105 | {F3047421-698D-45FD-B35A-A24503073878}.Debug|x86.ActiveCfg = Debug|Win32 106 | {F3047421-698D-45FD-B35A-A24503073878}.Release|x64.ActiveCfg = Release|x64 107 | {F3047421-698D-45FD-B35A-A24503073878}.Release|x86.ActiveCfg = Release|Win32 108 | EndGlobalSection 109 | GlobalSection(SolutionProperties) = preSolution 110 | HideSolutionNode = FALSE 111 | EndGlobalSection 112 | GlobalSection(NestedProjects) = preSolution 113 | {DB2B07D2-458F-480C-A6DA-459992F61CB8} = {CAF35193-5EC1-4E1C-9D6D-DD313B2F7867} 114 | {297399B0-029D-40A7-B62F-664C1E2A3008} = {BB22E726-CB29-4B8E-9419-3E8BD3786633} 115 | {03E09A3B-CC08-4AE4-91A3-B6A8273A24B8} = {CAF35193-5EC1-4E1C-9D6D-DD313B2F7867} 116 | {B3395D9E-E0EA-4323-BA81-D6B714272CE0} = {CAF35193-5EC1-4E1C-9D6D-DD313B2F7867} 117 | {0F5D2B75-04E6-450D-A20F-0CE76A0F2A3A} = {5E8D42E2-B5CC-4694-B6B8-F9522E8AB84A} 118 | {F3047421-698D-45FD-B35A-A24503073878} = {5E8D42E2-B5CC-4694-B6B8-F9522E8AB84A} 119 | {5E8D42E2-B5CC-4694-B6B8-F9522E8AB84A} = {BB22E726-CB29-4B8E-9419-3E8BD3786633} 120 | EndGlobalSection 121 | EndGlobal 122 | -------------------------------------------------------------------------------- /Project_C/SourceCode Other/Core_UseTest/Core_UseTest.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | Win32 7 | 8 | 9 | Release 10 | Win32 11 | 12 | 13 | Debug 14 | x64 15 | 16 | 17 | Release 18 | x64 19 | 20 | 21 | 22 | {FD316FA3-D3D5-419F-B57B-A23D1C01D0ED} 23 | Win32Proj 24 | Core_UseTest 25 | 8.1 26 | 27 | 28 | 29 | Application 30 | true 31 | v140 32 | Unicode 33 | 34 | 35 | Application 36 | false 37 | v140 38 | true 39 | Unicode 40 | 41 | 42 | Application 43 | true 44 | v140 45 | Unicode 46 | 47 | 48 | Application 49 | false 50 | v140 51 | true 52 | Unicode 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | true 74 | 75 | 76 | true 77 | 78 | 79 | false 80 | 81 | 82 | false 83 | 84 | 85 | 86 | 87 | 88 | Level3 89 | Disabled 90 | WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) 91 | true 92 | 93 | 94 | Console 95 | true 96 | 97 | 98 | 99 | 100 | 101 | 102 | Level3 103 | Disabled 104 | _DEBUG;_CONSOLE;%(PreprocessorDefinitions) 105 | true 106 | 107 | 108 | Console 109 | true 110 | 111 | 112 | 113 | 114 | Level3 115 | 116 | 117 | MaxSpeed 118 | true 119 | true 120 | WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) 121 | true 122 | 123 | 124 | Console 125 | true 126 | true 127 | true 128 | 129 | 130 | 131 | 132 | Level3 133 | 134 | 135 | MaxSpeed 136 | true 137 | true 138 | NDEBUG;_CONSOLE;%(PreprocessorDefinitions) 139 | true 140 | 141 | 142 | Console 143 | true 144 | true 145 | true 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | -------------------------------------------------------------------------------- /Project_C/SourceCode Other/Calculator_MemoryPool_Demand/Calculator_MemoryPool_Demand.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | Win32 7 | 8 | 9 | Release 10 | Win32 11 | 12 | 13 | Debug 14 | x64 15 | 16 | 17 | Release 18 | x64 19 | 20 | 21 | 22 | {C24B81DD-8A7B-427D-80C0-06627D4CDC7A} 23 | Win32Proj 24 | Calculator_MemoryPool_Demand 25 | 8.1 26 | 27 | 28 | 29 | Application 30 | true 31 | v140 32 | Unicode 33 | 34 | 35 | Application 36 | false 37 | v140 38 | true 39 | Unicode 40 | 41 | 42 | Application 43 | true 44 | v140 45 | Unicode 46 | 47 | 48 | Application 49 | false 50 | v140 51 | true 52 | Unicode 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | true 74 | 75 | 76 | true 77 | 78 | 79 | false 80 | 81 | 82 | false 83 | 84 | 85 | 86 | 87 | 88 | Level3 89 | Disabled 90 | WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) 91 | true 92 | 93 | 94 | Console 95 | true 96 | 97 | 98 | 99 | 100 | 101 | 102 | Level3 103 | Disabled 104 | _DEBUG;_CONSOLE;%(PreprocessorDefinitions) 105 | true 106 | 107 | 108 | Console 109 | true 110 | 111 | 112 | 113 | 114 | Level3 115 | 116 | 117 | MaxSpeed 118 | true 119 | true 120 | WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) 121 | true 122 | 123 | 124 | Console 125 | true 126 | true 127 | true 128 | 129 | 130 | 131 | 132 | Level3 133 | 134 | 135 | MaxSpeed 136 | true 137 | true 138 | NDEBUG;_CONSOLE;%(PreprocessorDefinitions) 139 | true 140 | 141 | 142 | Console 143 | true 144 | true 145 | true 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # MemoryPool 2 | very simple memory pool 3 | c++ / Windows xp~ / Visual Studio 2015~ 4 | 5 | Layer : 6 | VMEM <-> MemoryUnitsGroup_List <-> UnitsGroup (per cpu core) <-> Thread Local Storage 7 | 8 | uses internally winapi virtulalloc functions to handle the memory 9 | 10 | flexible object pool 11 | unique object pool 12 | https://github.com/lastpenguin/MemoryPool/blob/master/Project_C/SourceCode/Core/UTIL/ObjectPool.h 13 | 14 | ## Performance Test1(is not repeated) 15 | performance test(1 thread) 16 | My Memory Pool vs LFH vs TBB malloc 17 | ![test(min 128 max 512)1024 T1 N](https://user-images.githubusercontent.com/32404507/146826203-888a3fb9-7643-447a-9aed-2c5805b3e610.png) 18 | 19 | performance test(8 thread) 20 | My Memory Pool vs LFH vs TBB malloc 21 | ![test(min 128 max 512)1024 T8 N](https://user-images.githubusercontent.com/32404507/146826303-786d5aba-6e6b-4bc4-9498-58bf3ca64c37.png) 22 | 23 | Better performance when used repeatedly 24 | 25 | 26 | ## Performance Test2(ARM cpu + windows10) 27 | test program path : 28 | https://github.com/lastpenguin/MemoryPool/tree/master/Project_C/SourceCode/x64/Release 29 | test code : 30 | https://github.com/lastpenguin/MemoryPool/blob/master/Project_C/SourceCode/TEST/ConsoleTestProject/test_memorypool.h 31 | 32 | atom x5-z8350, 4core, 4GB ram 33 | test loop : 20 34 | object size : 32 ~ 512 35 | random seed : 0 36 | mem size per test : 512MB 37 | write / read test : no 38 | 39 | thread 1: 40 | pool 47.5925 sec 41 | lfh 69.9947 sec 42 | tbb 50.1776 sec 43 | 44 | thread 4: 45 | pool 21.3557 sec 46 | lfh 31.0175 sec 47 | tbb 21.7671 sec 48 | 49 | 50 | ## 구조 51 | ![메모리풀 메모리 구조 V2](https://user-images.githubusercontent.com/32404507/146826493-70b70550-e06b-4b39-88d4-354b313804cf.png) 52 | ![메모리풀 메모리 흐름 V2](https://user-images.githubusercontent.com/32404507/150671861-b4c5bd09-870b-4ea4-afff-48c280e1e7fc.png) 53 | 54 | 55 | ## 프로젝트 우선순위 56 | 1. 스레드 세이프 57 | 2. 메모리 논리적 주소, 물리적 공간의 단편화 방지 58 | 3. 부가적인 메모리 소모비용의 최소화 59 | 4. 속도 60 | 5. 범용성을 위해 사용하지 않는 메모리는 가능한 해제를 시도 61 | 62 | ## 사용 요구사항 63 | * Visual Studio 2015 C++ 64 | * 사용자의 C++ 기초지식 65 | 66 | ## 실행 요구사항 67 | * Visual Studio 2015 C++ 또는, 68 | * Visual Studio 2015용 Visual C++ 재배포 가능 패키지 69 | * https://www.microsoft.com/ko-kr/download/details.aspx?id=48145 70 | 71 | ## 구성 72 | * Core_x86.dll Windows XP 이상 73 | * Core_x64.dll Windows Vista 이상 74 | * ※ 문자 집합 : 유니코드 75 | 76 | * * * 77 | 78 | ## 라이브러리 연결 79 | ### 방법1 80 | **Project_C/Library Public Version/Core Library BETA 2.0** 을 사용 81 | 82 | 초기화를 처리할 `cpp` 파일에서 다음 파일을 포함(`include`) 83 | ```c++ 84 | ./User/Core_import.h 85 | ``` 86 | 초기화 87 | ```c++ 88 | ::CORE::Connect_CORE(...) 89 | ``` 90 | 종료(명시적 종료 시점이 필요할때만 사용) 91 | ```c++ 92 | ::CORE::Disconnect_CORE 93 | ``` 94 | 사용을 위해서는 다음 파일을 포함(include) 95 | ```c++ 96 | ./User/Core_include.h 97 | ``` 98 | ### 방법2 99 | `Project_C/SourceCode/Engine` 라이브러리 `import` 또는 코드를 참고 100 | 101 | * * * 102 | 103 | ## 인터페이스 104 | 인터페이스는 다음 파일들을 참고 105 | * `Core_Interface.h` 106 | * `MemoryPool_Interface.h` 107 | * `System_Information_Interface.h` 108 | 109 | 디버깅용 로그 필요시 다음 파일을 참고하여 객체를 정의하여, 초기화시 인스턴스를 전달해야 함 110 | * `LogWriter_Interface.h` 111 | * `pLogSystem`: 중요한 오류등을 기록 112 | * `pLogDebug`: 일반 디버깅 정보 113 | 114 | * * * 115 | 116 | ## 코드내 사용 방법 117 | (다음의 방법들은 모두 혼용사용이 가능합니다) 118 | 119 | #1) 이미 작성된 코드에 쉽게 적용하는 방법
120 | 메모리풀을 적용하려는 객체는 `CMemoryPoolResource`를 상속받습니다.
121 | ※ 주의 : 자식 클래스까지 모두 메모리풀의 영향을 받습니다.
122 | ```c++ 123 | 예:) 124 | class CTest1 : public CMemoryPoolResource { 125 | ... 126 | }; 127 | 128 | CTest1* p = new CTest1(...); 129 | delete p; 130 | ``` 131 | 132 | ```c++ 133 | 예:) 134 | struct TTest1 : CMemoryPoolResource { 135 | ... 136 | }; 137 | 138 | TTest1* p = new TTest1; 139 | delete p; 140 | ``` 141 | 142 | ```c++ 143 | class CParent : public CMemoryPoolResource { 144 | public: 145 | virtual ~CParent(); 146 | ... 147 | }; 148 | class CChild : public CParent { 149 | ... 150 | }; 151 | 152 | //CParent::__Get_MemoryPool()->mFN_Hint_MaxMemorySize_Add(sizeof(CParent)*1000); 153 | //CChild::__Get_MemoryPool()->mFN_Hint_MaxMemorySize_Set(sizeof(CChild)*500); 154 | 155 | CParent* p = new CChild(...); 156 | delete p; 157 | ``` 158 | `new delete` 를 이용하여 사용합니다. 159 | 160 | #2) 객체단위에 대하여 만약 상속을 사용하지 않고 특정상황에만 사용하고 싶다면 다음의 매크로를 사용합니다.
161 | `CMemoryPoolResource`를 상속 받은 타입또한 가능합니다.
162 | ``` 163 | // ■ 매크로 버전 : 할당자 / 소멸자 비 호출 164 | _MACRO_ALLOC__FROM_MEMORYPOOL(Address) 165 | _MACRO_FREE__FROM_MEMORYPOOL(Address) 166 | 167 | // ■ 매크로 버전 : 할당자 / 소멸자 호출 168 | _MACRO_NEW__FROM_MEMORYPOOL(Address, Constructor) 169 | _MACRO_DELETE__FROM_MEMORYPOOL(Address) 170 | ``` 171 | ```c++ 172 | 예:) 173 | TTest1* p1 = nullptr; 174 | _MACRO_ALLOC__FROM_MEMORYPOOL(p1); 175 | _MACRO_FREE__FROM_MEMORYPOOL(p2); 176 | 177 | TTest1* p2 = nullptr; 178 | _MACRO_NEW__FROM_MEMORYPOOL(p1, TTest1(...)); 179 | _MACRO_DELETE__FROM_MEMORYPOOL(p1); 180 | ``` 181 | #3) 가변크기 사용
182 | 만약 할당하려는 크기가 가변적(예를 들어 문자열 버퍼) 이라면 메모리풀관리자에 직접 접근하여 다음의 메소드를 사용합니다.
183 | ``` 184 | IMemoryPool_Manager::mFN_Get_Memory 185 | IMemoryPool_Manager::mFN_Return_Memory 186 | IMemoryPool_Manager::mFN_Get_Memory__AlignedCacheSize // 캐시라인 정렬 버전 187 | IMemoryPool_Manager::mFN_Return_Memory__AlignedCacheSize // 캐시라인 정렬 버전 188 | 189 | // ■ 매크로 버전 : 할당자 / 소멸자 비 호출 190 | // ※ malloc / free 를 대신하기에 적합한 방법입니다. 191 | _MACRO_ALLOC__FROM_MEMORYPOOL_GENERIC 192 | _MACRO_FREE__FROM_MEMORYPOOL_GENERIC 193 | ``` 194 | ```c++ 195 | 예:) 196 | TTest1* p1 = _MACRO_ALLOC__FROM_MEMORYPOOL_GENERIC(sizeof(TTest1)); 197 | ... 198 | _MACRO_FREE__FROM_MEMORYPOOL_GENERIC(p1); 199 | ``` 200 | 201 | #기타1 : STL Container Allocator 202 | `STL Container` 의 `Allocator` 교체 할 경우 다음을 사용 203 | ```c++ 204 | TAllocator 205 | ``` 206 | 이것은 `vector` 같은 매우 가변적 크기 할당에 사용하지 않는 것이 좋습니다 207 | 208 | #기타2 :
209 | 만약 캐시라인 크기인 64B단위로 정렬된 주소를 얻고 싶다면
210 | 단순하게는 64B의 배수단위로 요구를 해도 됩니다
211 | 212 | ### 고급 사용 방법 213 | 파일 `MemoryPool_Interface.h`의 사용 설명을 참고 하십시오
214 | 215 | Memory Pool Interface
216 | ::UTIL::MEM::IMemoryPool
217 | 218 | Memory Pool Manager Interface
219 | ::UTIL::MEM::IMemoryPool_Manager
220 | 221 | Instance
222 | ::UTIL::g_pMem
223 | 224 | ### 사용자의 수요예측 최적화 예 225 | 다음의 최적화는 메모리풀의 반응시간을 대폭 줄일 수 있습니다
226 | (할당/해제가 여러번 반복되는 경우 virtualalloc virtualfree 호출 억제)
227 | 228 | #1) 프로그램 초기과정
229 | 이전 실행에서의 객체별 최대 사용크기 확인
230 | 231 | #2) 객체별 최대사용 크기를 메소드에 전달
232 | `IMemoryPool::mFN_Hint_MaxMemorySize_Set`를 통해 전달
233 | (※ 현재 부정확하게 동작함)
234 | 235 | #3) 프로그램 종료시
236 | 통계에서 메모리풀 최대크기 조사, 저장
237 | `IMemoryPool::mFN_Query_Stats`
238 | `TMemoryPool_Stats::Base::nMaxSize_Pool`
239 | 240 | * * * 241 | ## 작성자 코멘트 242 | ### 혹시나 분석을 시도하려는 분을 위하여... 243 | 메모리풀 코드는 프로젝트Core의 폴더 UTIL 내에 있습니다. 244 | 그중에, V2 폴더에 있는 것이 최근 버전입니다(2015년까지 작업) 245 | 파일당 라인수는 분할을 하지 않아 조금 불편하게 느낄수도 있지만 246 | 가급적 객체단위로 namespace로 감싸놓아 VS의 숨기기 기능을 이용하면 보기 불편하지 않을겁니다 247 | 이런식으로요 248 | ```c++ 249 | namespace UTIL{ 250 | namespace MEM{ 251 | class OBJ1{ 252 | } 253 | } 254 | } 255 | 256 | namespace UTIL{ 257 | namespace MEM{ 258 | class OBJ2{ 259 | } 260 | } 261 | } 262 | ``` 263 | 264 | 이 메모리풀 내부에 사용된 락은 몽땅 스핀락입니다 265 | (물론 스핀 횟수에 제한을 두어 스레드스위칭은 시도합니다) 266 | (수정하고 싶다면 잠금이 사용된 부분은 사실 많지 않으니 쉽게 하실 수 있습니다) 267 | 268 | 269 | 이 메모리풀은 게임같은 곳에 사용시 LFH, TBB에 비해 좀더 메모리를 절약합니다 270 | (아마도요, 계속 해서 LFH, TBB 와 비교해왔거든요) 271 | LFH에 비해 좀더 다양한 풀로 분할했습니다 272 | 기본 청크 단위는 256KB이며, 이것을 다시 몇 개의 그룹으로 분할하여 여러 스레드 경쟁을 줄입니다 273 | 실제 virtualalloc 시에는 256KB * x 단위로 한번에 더 많이 할당합니다(여러개의 청크를 한번에 생성합니다) 274 | 그리고 이 청크들은 각 단위사이즈를 사용하는 풀에서 필요시 분할해서 가져가 사용합니다 275 | 여기서 왜 윈도우 메모리 예약단위인 64KB가 아닌 256KB 냐고 묻는다면 순전히 메모리 절약을 위해서 입니다 276 | 여기서 256KB 정렬문제로 좀 귀찮은 처리를 했구요 277 | 278 | 만약 사용자가 자신의 프로젝트에 맞게끔 수정하고 싶다면 다음 스프레드시트 파일을 참고하세요 279 | * 메모리풀 할당크기 계산.ods 280 | * 메모리풀 예약단위 계산.ods 281 | 282 | ### 이 메모리풀은 8논리코어 이하에 최적화 되어있습니다 283 | (사실 혼자 쓰려 했는데 라이젠때문에 메인스트림이 12, 16 스레드로 바뀌어서 오픈소스화 합니다) 284 | 285 | ### 컴파일시 옵션 286 | MemoryPool_v2/MemoryPoolCore_v2.h 287 | 288 | // Release버전에서 테스트 ON 289 | //#define _DEF_USING_MEMORYPOOL_DEBUG 1 290 | 주석 해제시 디버그모드가 아니여도 출력창에 정보표시 291 | 292 | // 프로파일링 ON 293 | //#define _DEF_USING_MEMORYPOOL__PERFORMANCE_PROFILING 1 294 | visual studio 에서 프로파일링 도구 사용시, 295 | 메모리풀 함수/메소드 일부는 인라인화되어 사용자는 이런 부분들의 296 | 프로파일링 결과를 세밀하게 분석하기 힘들어지기때문에 297 | 필요한 부분의 인라인화를 막는 옵션 298 | 299 | ### 질문은 lastpenguin83@gmail.com 으로 하시거나 이곳에 하십시오 300 | 301 | 2015년 이후로 수정하지 않아 기억나지 않는 부분이 많습니다. 302 | 이 부분이 왜 이렇게 했나 궁금한 부분은 다음의 파일을 참고 해주세요 303 | * 메모리풀 개선.txt (V1) 304 | * 메모리풀 개선V2.txt 305 | -------------------------------------------------------------------------------- /Project_C/SourceCode/TEST/ConsoleTestProject/ConsoleTestProject.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | Win32 7 | 8 | 9 | Debug 10 | x64 11 | 12 | 13 | Release 14 | Win32 15 | 16 | 17 | Release 18 | x64 19 | 20 | 21 | 22 | {297399B0-029D-40A7-B62F-664C1E2A3008} 23 | Win32Proj 24 | ConsoleTestProject 25 | 10.0 26 | 27 | 28 | 29 | Application 30 | true 31 | v143 32 | Unicode 33 | 34 | 35 | Application 36 | true 37 | v143 38 | Unicode 39 | 40 | 41 | Application 42 | false 43 | v143 44 | true 45 | Unicode 46 | 47 | 48 | Application 49 | false 50 | v143 51 | true 52 | Unicode 53 | false 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | true 73 | $(SolutionDir)$(PlatformTarget)\$(Configuration)\ 74 | $(PlatformTarget)\$(Configuration)\ 75 | $(ProjectName)_$(PlatformTarget)D 76 | $(SolutionDir)Output;$(LibraryPath) 77 | 78 | 79 | true 80 | $(SolutionDir)$(PlatformTarget)\$(Configuration)\ 81 | $(PlatformTarget)\$(Configuration)\ 82 | $(ProjectName)_$(PlatformTarget)D 83 | $(SolutionDir)Output;$(LibraryPath) 84 | 85 | 86 | false 87 | $(PlatformTarget)\$(Configuration)\ 88 | $(SolutionDir)$(PlatformTarget)\$(Configuration)\ 89 | $(ProjectName)_$(PlatformTarget) 90 | $(SolutionDir)Output;$(LibraryPath) 91 | 92 | 93 | false 94 | $(PlatformTarget)\$(Configuration)\ 95 | $(SolutionDir)$(PlatformTarget)\$(Configuration)\ 96 | $(ProjectName)_$(PlatformTarget) 97 | $(SolutionDir)Output;$(LibraryPath) 98 | 99 | 100 | 101 | 102 | 103 | Level3 104 | Disabled 105 | WIN32;_DEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions) 106 | true 107 | true 108 | 109 | 110 | Console 111 | true 112 | 113 | 114 | 115 | 116 | 117 | 118 | Level3 119 | Disabled 120 | WIN32;_DEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions) 121 | true 122 | true 123 | 124 | 125 | Console 126 | true 127 | 128 | 129 | 130 | 131 | Level3 132 | 133 | 134 | MaxSpeed 135 | true 136 | true 137 | WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions) 138 | true 139 | true 140 | 141 | 142 | Console 143 | true 144 | true 145 | true 146 | true 147 | 148 | 149 | 150 | 151 | Level3 152 | 153 | 154 | MaxSpeed 155 | true 156 | true 157 | WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions) 158 | true 159 | MultiThreadedDLL 160 | true 161 | 162 | 163 | Console 164 | true 165 | true 166 | true 167 | true 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | -------------------------------------------------------------------------------- /Project_C/SourceCode/TEST/UnitTest_Core/UnitTest_Core.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | Win32 7 | 8 | 9 | Release 10 | Win32 11 | 12 | 13 | Debug 14 | x64 15 | 16 | 17 | Release 18 | x64 19 | 20 | 21 | 22 | {0F5D2B75-04E6-450D-A20F-0CE76A0F2A3A} 23 | Win32Proj 24 | UnitTest_Core 25 | 10.0 26 | 27 | 28 | 29 | DynamicLibrary 30 | true 31 | v143 32 | Unicode 33 | false 34 | 35 | 36 | DynamicLibrary 37 | false 38 | v143 39 | true 40 | Unicode 41 | false 42 | 43 | 44 | DynamicLibrary 45 | true 46 | v143 47 | Unicode 48 | false 49 | 50 | 51 | DynamicLibrary 52 | false 53 | v143 54 | true 55 | Unicode 56 | false 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | true 78 | $(ProjectDir)$(Platform)\$(Configuration)\ 79 | $(ProjectDir)$(Platform)\$(Configuration)\ 80 | $(ProjectDir);$(IncludePath) 81 | $(SolutionDir)Output;$(LibraryPath) 82 | 83 | 84 | true 85 | $(ProjectDir)$(Platform)\$(Configuration)\ 86 | $(ProjectDir);$(IncludePath) 87 | $(ProjectDir)$(Platform)\$(Configuration)\ 88 | $(SolutionDir)Output;$(LibraryPath) 89 | 90 | 91 | true 92 | $(ProjectDir)$(Platform)\$(Configuration)\ 93 | $(ProjectDir)$(Platform)\$(Configuration)\ 94 | $(ProjectDir);$(IncludePath) 95 | $(SolutionDir)Output;$(LibraryPath) 96 | 97 | 98 | true 99 | $(ProjectDir)$(Platform)\$(Configuration)\ 100 | $(ProjectDir);$(IncludePath) 101 | $(ProjectDir)$(Platform)\$(Configuration)\ 102 | $(SolutionDir)Output;$(LibraryPath) 103 | 104 | 105 | 106 | Use 107 | Level4 108 | Disabled 109 | $(VCInstallDir)UnitTest\include;%(AdditionalIncludeDirectories) 110 | WIN32;_DEBUG;%(PreprocessorDefinitions) 111 | true 112 | stdafx.h 113 | true 114 | 115 | 116 | Windows 117 | true 118 | $(VCInstallDir)UnitTest\lib;%(AdditionalLibraryDirectories) 119 | 120 | 121 | 122 | 123 | Use 124 | Level4 125 | Disabled 126 | $(VCInstallDir)UnitTest\include;%(AdditionalIncludeDirectories) 127 | _DEBUG;%(PreprocessorDefinitions) 128 | true 129 | stdafx.h 130 | true 131 | 132 | 133 | Windows 134 | true 135 | $(VCInstallDir)UnitTest\lib;%(AdditionalLibraryDirectories) 136 | 137 | 138 | 139 | 140 | Level4 141 | Use 142 | MaxSpeed 143 | true 144 | true 145 | $(VCInstallDir)UnitTest\include;%(AdditionalIncludeDirectories) 146 | WIN32;NDEBUG;%(PreprocessorDefinitions) 147 | true 148 | stdafx.h 149 | true 150 | 151 | 152 | Windows 153 | true 154 | true 155 | true 156 | $(VCInstallDir)UnitTest\lib;%(AdditionalLibraryDirectories) 157 | 158 | 159 | 160 | 161 | Level4 162 | Use 163 | MaxSpeed 164 | true 165 | true 166 | $(VCInstallDir)UnitTest\include;%(AdditionalIncludeDirectories) 167 | NDEBUG;%(PreprocessorDefinitions) 168 | true 169 | stdafx.h 170 | true 171 | 172 | 173 | Windows 174 | true 175 | true 176 | true 177 | $(VCInstallDir)UnitTest\lib;%(AdditionalLibraryDirectories) 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | Create 199 | Create 200 | Create 201 | Create 202 | 203 | 204 | 205 | 206 | 207 | 208 | -------------------------------------------------------------------------------- /Project_C/SourceCode/Core/Core.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | Win32 7 | 8 | 9 | Debug 10 | x64 11 | 12 | 13 | Release 14 | Win32 15 | 16 | 17 | Release 18 | x64 19 | 20 | 21 | 22 | {DB2B07D2-458F-480C-A6DA-459992F61CB8} 23 | Win32Proj 24 | Core 25 | 26 | 27 | 28 | DynamicLibrary 29 | true 30 | v143 31 | Unicode 32 | 33 | 34 | DynamicLibrary 35 | true 36 | v143 37 | Unicode 38 | 39 | 40 | DynamicLibrary 41 | false 42 | v143 43 | true 44 | Unicode 45 | 46 | 47 | DynamicLibrary 48 | false 49 | v143 50 | true 51 | Unicode 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | true 71 | $(SolutionDir)$(PlatformTarget)\$(Configuration)\ 72 | $(PlatformTarget)\$(Configuration)\ 73 | $(ProjectName)_$(PlatformTarget)D 74 | $(ProjectDir);$(SolutionDir)Output;$(SolutionDir)DirectX\Include;$(IncludePath) 75 | $(SolutionDir)DirectX\Lib\x86;$(LibraryPath) 76 | 77 | 78 | true 79 | $(SolutionDir)$(PlatformTarget)\$(Configuration)\ 80 | $(PlatformTarget)\$(Configuration)\ 81 | $(ProjectName)_$(PlatformTarget)D 82 | $(ProjectDir);$(SolutionDir)Output;$(SolutionDir)DirectX\Include;$(IncludePath) 83 | $(SolutionDir)DirectX\Lib\x64;$(LibraryPath) 84 | 85 | 86 | false 87 | $(SolutionDir)$(PlatformTarget)\$(Configuration)\ 88 | $(PlatformTarget)\$(Configuration)\ 89 | $(ProjectName)_$(PlatformTarget) 90 | $(ProjectDir);$(SolutionDir)Output;$(SolutionDir)DirectX\Include;$(IncludePath) 91 | $(SolutionDir)DirectX\Lib\x86;$(LibraryPath) 92 | 93 | 94 | false 95 | $(SolutionDir)$(PlatformTarget)\$(Configuration)\ 96 | $(PlatformTarget)\$(Configuration)\ 97 | $(ProjectName)_$(PlatformTarget) 98 | $(ProjectDir);$(SolutionDir)Output;$(SolutionDir)DirectX\Include;$(IncludePath) 99 | $(SolutionDir)DirectX\Lib\x64;$(LibraryPath) 100 | 101 | 102 | 103 | Use 104 | Level4 105 | Disabled 106 | WIN32;_DEBUG;_WINDOWS;_USRDLL;CORE_EXPORTS;%(PreprocessorDefinitions) 107 | true 108 | 109 | 110 | Windows 111 | true 112 | 113 | 114 | mkdir "$(SolutionDir)Output" 115 | copy "$(TargetPath)" "$(SolutionDir)Output\$(TargetFileName)" 116 | 117 | 118 | 119 | echo // $(TargetFileName) > Compile_Log.txt 120 | echo // Compile Start : %25date%25 %25time%25 >> Compile_Log.txt 121 | 122 | 123 | 124 | 125 | Use 126 | Level4 127 | Disabled 128 | WIN32;_DEBUG;_WINDOWS;_USRDLL;CORE_EXPORTS;%(PreprocessorDefinitions) 129 | true 130 | 131 | 132 | Windows 133 | true 134 | 135 | 136 | mkdir "$(SolutionDir)Output" 137 | copy "$(TargetPath)" "$(SolutionDir)Output\$(TargetFileName)" 138 | 139 | 140 | 141 | echo // $(TargetFileName) > Compile_Log.txt 142 | echo // Compile Start : %25date%25 %25time%25 >> Compile_Log.txt 143 | 144 | 145 | 146 | 147 | Level4 148 | Use 149 | MaxSpeed 150 | true 151 | true 152 | WIN32;NDEBUG;_WINDOWS;_USRDLL;CORE_EXPORTS;%(PreprocessorDefinitions) 153 | true 154 | 155 | 156 | Windows 157 | true 158 | true 159 | true 160 | true 161 | 162 | 163 | mkdir "$(SolutionDir)Output" 164 | copy "$(TargetPath)" "$(SolutionDir)Output\$(TargetFileName)" 165 | 166 | 167 | 168 | echo // $(TargetFileName) > Compile_Log.txt 169 | echo // Compile Start : %25date%25 %25time%25 >> Compile_Log.txt 170 | 171 | 172 | 173 | 174 | Level4 175 | Use 176 | MaxSpeed 177 | true 178 | true 179 | WIN32;NDEBUG;_WINDOWS;_USRDLL;CORE_EXPORTS;%(PreprocessorDefinitions) 180 | true 181 | Default 182 | Neither 183 | Cdecl 184 | 185 | 186 | Windows 187 | true 188 | true 189 | true 190 | true 191 | 192 | 193 | mkdir "$(SolutionDir)Output" 194 | copy "$(TargetPath)" "$(SolutionDir)Output\$(TargetFileName)" 195 | 196 | 197 | 198 | echo // $(TargetFileName) > Compile_Log.txt 199 | echo // Compile Start : %25date%25 %25time%25 >> Compile_Log.txt 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | false 229 | false 230 | 231 | 232 | 233 | 234 | false 235 | false 236 | 237 | 238 | 239 | 240 | 241 | 242 | Create 243 | Create 244 | Create 245 | Create 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | -------------------------------------------------------------------------------- /Project_C/SourceCode/Engine/Engine.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | Win32 7 | 8 | 9 | Debug 10 | x64 11 | 12 | 13 | Release 14 | Win32 15 | 16 | 17 | Release 18 | x64 19 | 20 | 21 | 22 | {03E09A3B-CC08-4AE4-91A3-B6A8273A24B8} 23 | Win32Proj 24 | Engine 25 | 26 | 27 | 28 | StaticLibrary 29 | true 30 | v143 31 | Unicode 32 | 33 | 34 | StaticLibrary 35 | true 36 | v143 37 | Unicode 38 | 39 | 40 | StaticLibrary 41 | false 42 | v143 43 | true 44 | Unicode 45 | 46 | 47 | StaticLibrary 48 | false 49 | v143 50 | true 51 | Unicode 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | $(SolutionDir)$(PlatformTarget)\$(Configuration)\ 71 | $(PlatformTarget)\$(Configuration)\ 72 | $(ProjectName)_$(PlatformTarget)D 73 | $(ProjectDir);$(SolutionDir)Output;$(SolutionDir)DirectX\Include;$(IncludePath) 74 | $(SolutionDir)DirectX\Lib\x86;$(SolutionDir)Output;$(LibraryPath) 75 | 76 | 77 | $(SolutionDir)$(PlatformTarget)\$(Configuration)\ 78 | $(PlatformTarget)\$(Configuration)\ 79 | $(ProjectName)_$(PlatformTarget)D 80 | $(ProjectDir);$(SolutionDir)Output;$(SolutionDir)DirectX\Include;$(IncludePath) 81 | $(SolutionDir)DirectX\Lib\x64;$(SolutionDir)Output;$(LibraryPath) 82 | 83 | 84 | $(ProjectName)_$(PlatformTarget) 85 | $(SolutionDir)$(PlatformTarget)\$(Configuration)\ 86 | $(PlatformTarget)\$(Configuration)\ 87 | $(ProjectDir);$(SolutionDir)Output;$(SolutionDir)DirectX\Include;$(IncludePath) 88 | $(SolutionDir)DirectX\Lib\x86;$(SolutionDir)Output;$(LibraryPath) 89 | 90 | 91 | $(ProjectName)_$(PlatformTarget) 92 | $(SolutionDir)$(PlatformTarget)\$(Configuration)\ 93 | $(PlatformTarget)\$(Configuration)\ 94 | $(ProjectDir);$(SolutionDir)Output;$(SolutionDir)DirectX\Include;$(IncludePath) 95 | $(SolutionDir)DirectX\Lib\x64;$(SolutionDir)Output;$(LibraryPath) 96 | 97 | 98 | 99 | Use 100 | Level4 101 | Disabled 102 | WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) 103 | true 104 | 105 | 106 | Windows 107 | true 108 | 109 | 110 | mkdir "$(SolutionDir)Output" 111 | copy "$(TargetPath)" "$(SolutionDir)Output\$(TargetFileName)" 112 | 113 | 114 | 115 | echo // $(TargetFileName) > Compile_Log.txt 116 | echo // Compile Start : %25date%25 %25time%25 >> Compile_Log.txt 117 | 118 | 119 | 120 | 121 | 122 | Use 123 | Level4 124 | Disabled 125 | WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) 126 | true 127 | 128 | 129 | Windows 130 | true 131 | 132 | 133 | mkdir "$(SolutionDir)Output" 134 | copy "$(TargetPath)" "$(SolutionDir)Output\$(TargetFileName)" 135 | 136 | 137 | 138 | echo // $(TargetFileName) > Compile_Log.txt 139 | echo // Compile Start : %25date%25 %25time%25 >> Compile_Log.txt 140 | 141 | 142 | 143 | 144 | 145 | Level4 146 | Use 147 | MaxSpeed 148 | true 149 | true 150 | WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) 151 | true 152 | 153 | 154 | Windows 155 | true 156 | true 157 | true 158 | 159 | 160 | mkdir "$(SolutionDir)Output" 161 | copy "$(TargetPath)" "$(SolutionDir)Output\$(TargetFileName)" 162 | 163 | 164 | 165 | echo // $(TargetFileName) > Compile_Log.txt 166 | echo // Compile Start : %25date%25 %25time%25 >> Compile_Log.txt 167 | 168 | 169 | 170 | 171 | 172 | Level4 173 | Use 174 | MaxSpeed 175 | true 176 | true 177 | WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) 178 | true 179 | 180 | 181 | Windows 182 | true 183 | true 184 | true 185 | 186 | 187 | mkdir "$(SolutionDir)Output" 188 | copy "$(TargetPath)" "$(SolutionDir)Output\$(TargetFileName)" 189 | 190 | 191 | 192 | echo // $(TargetFileName) > Compile_Log.txt 193 | echo // Compile Start : %25date%25 %25time%25 >> Compile_Log.txt 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | true 220 | true 221 | true 222 | true 223 | 224 | 225 | 226 | 227 | Create 228 | Create 229 | Create 230 | Create 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | true 239 | true 240 | true 241 | true 242 | 243 | 244 | true 245 | true 246 | true 247 | true 248 | 249 | 250 | true 251 | true 252 | true 253 | true 254 | 255 | 256 | 257 | 258 | 259 | --------------------------------------------------------------------------------