aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
author杨宇千 <crupest@outlook.com>2019-07-11 00:43:27 +0800
committer杨宇千 <crupest@outlook.com>2019-07-11 00:43:27 +0800
commitcafcbde7529f7c1e4219344df9a404ecdb411aa5 (patch)
treea4b515131bb026d12db92eaa1d3f9f32a7a65505 /src
parentd163bafa461779a3795818aa8c8b5238880ede24 (diff)
downloadcru-cafcbde7529f7c1e4219344df9a404ecdb411aa5.tar.gz
cru-cafcbde7529f7c1e4219344df9a404ecdb411aa5.tar.bz2
cru-cafcbde7529f7c1e4219344df9a404ecdb411aa5.zip
...
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt1
-rw-r--r--src/main.cpp8
-rw-r--r--src/win/CMakeLists.txt1
-rw-r--r--src/win/heap_debug.cpp11
4 files changed, 15 insertions, 6 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index f0010345..50092e1c 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -15,6 +15,7 @@ target_sources(cru_platform_base INTERFACE
${CRU_PLATFORM_BASE_INCLUDE_DIR}/debug.hpp
${CRU_PLATFORM_BASE_INCLUDE_DIR}/exception.hpp
${CRU_PLATFORM_BASE_INCLUDE_DIR}/graphic_base.hpp
+ ${CRU_PLATFORM_BASE_INCLUDE_DIR}/heap_debug.hpp
${CRU_PLATFORM_BASE_INCLUDE_DIR}/matrix.hpp
${CRU_PLATFORM_BASE_INCLUDE_DIR}/native_resource.hpp
${CRU_PLATFORM_BASE_INCLUDE_DIR}/string_util.hpp
diff --git a/src/main.cpp b/src/main.cpp
index f9c0e56b..9336dda7 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -1,3 +1,4 @@
+#include "cru/platform/heap_debug.hpp"
#include "cru/platform/native/native_window.hpp"
#include "cru/platform/native/ui_applicaition.hpp"
#include "cru/ui/controls/button.hpp"
@@ -12,16 +13,11 @@ using cru::ui::Window;
using cru::ui::controls::Button;
using cru::ui::controls::FlexLayout;
using cru::ui::controls::TextBlock;
-/*
-int APIENTRY wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
- LPWSTR lpCmdLine, int nCmdShow) {
-*/
int main() {
-
#ifdef CRU_DEBUG
- _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
+ cru::platform::SetupHeapDebug();
#endif
std::unique_ptr<UiApplication> application(UiApplication::CreateInstance());
diff --git a/src/win/CMakeLists.txt b/src/win/CMakeLists.txt
index 0076b3b2..d7d4ba96 100644
--- a/src/win/CMakeLists.txt
+++ b/src/win/CMakeLists.txt
@@ -3,6 +3,7 @@ set(CRU_WIN_BASE_INCLUDE_DIR ${CRU_INCLUDE_DIR}/cru/win/)
add_library(cru_win_base STATIC
debug.cpp
exception.cpp
+ heap_debug.cpp
string_util.cpp
)
target_sources(cru_win_base PUBLIC
diff --git a/src/win/heap_debug.cpp b/src/win/heap_debug.cpp
new file mode 100644
index 00000000..33ebae7c
--- /dev/null
+++ b/src/win/heap_debug.cpp
@@ -0,0 +1,11 @@
+#include "cru/win/win_pre_config.hpp"
+
+#include "cru/platform/heap_debug.hpp"
+
+#include <crtdbg.h>
+
+namespace cru::platform {
+void SetupHeapDebug() {
+ _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
+}
+}