Alternate
e697dbe9c5997e35395fe158628dd8c5209481da
for Visual Studio 2022 and Windows 11.
読み取り中…
検索中…
一致する文字列を見つけられません
BinderMemoryLeakCheck.cpp
[詳解]
1
5
6
#include "
pch.h
"
7
#include "
BinderMemoryLeakCheck.h
"
8
9
using namespace
LeakCheck
;
10
11
BinderMemoryLeakCheck::BinderMemoryLeakCheck
()
12
{
13
14
}
15
16
BinderMemoryLeakCheck::~BinderMemoryLeakCheck
()
17
{
18
19
}
20
21
BOOL
BinderMemoryLeakCheck::Init
()
22
{
23
return
TRUE;
24
}
25
26
BOOL
BinderMemoryLeakCheck::DoAction
()
27
{
28
DoAction1
();
29
DoAction2
();
30
DoAction3
();
31
DoAction4
();
32
33
return
TRUE;
34
}
35
36
BOOL
BinderMemoryLeakCheck::DoAction1
()
37
{
38
_tprintf (_T (
"BinderMemoryLeakCheck::DoAction1()--------->\n"
));
39
CRT_SET_DEBUG_FLAG
;
40
41
typedef
alt::skeleton::Freight<CHAR>
CharFreight;
42
typedef
alt::skeleton::Binder<CharFreight>
CharBinder;
43
44
alt::HeapMemory
memory;
45
BOOL ret = memory.
Create
();
46
if
(!ret)
return
FALSE;
47
48
CharFreight* freight =
new
CharFreight ((LPSTR)
"ABCDEF"
, 6, &memory);
49
50
CharBinder binder;
51
binder.Set (freight);
52
53
return
TRUE;
54
}
55
56
BOOL
BinderMemoryLeakCheck::DoAction2
()
57
{
58
_tprintf (_T (
"BinderMemoryLeakCheck::DoAction2()--------->\n"
));
59
CRT_SET_DEBUG_FLAG
;
60
61
typedef
alt::skeleton::Freight<CHAR>
CharFreight;
62
typedef
alt::skeleton::Binder<CharFreight>
CharBinder;
63
64
alt::HeapMemory
memory;
65
BOOL ret = memory.
Create
();
66
if
(!ret)
return
FALSE;
67
68
CharFreight* freight =
new
CharFreight ((LPSTR)
"ABCDEF"
, 6, &memory);
69
70
CharBinder binder (freight);
71
72
return
TRUE;
73
}
74
75
BOOL
BinderMemoryLeakCheck::DoAction3
()
76
{
77
_tprintf (_T (
"BinderMemoryLeakCheck::DoAction3()--------->\n"
));
78
CRT_SET_DEBUG_FLAG
;
79
80
typedef
alt::skeleton::Freight<CHAR>
CharFreight;
81
typedef
alt::skeleton::Binder<CharFreight, alt::HeapMemory*>
CharBinder;
82
83
alt::HeapMemory
memory;
84
BOOL ret = memory.
Create
();
85
if
(!ret)
return
FALSE;
86
87
CharBinder binder;
88
binder.New (&memory);
89
auto
freight = binder.Get ();
90
freight->SetData ((LPSTR)
"ABCDEF"
, 6);
91
92
return
TRUE;
93
}
94
95
BOOL
BinderMemoryLeakCheck::DoAction4
()
96
{
97
_tprintf (_T (
"BinderMemoryLeakCheck::DoAction4()--------->\n"
));
98
CRT_SET_DEBUG_FLAG
;
99
100
typedef
alt::skeleton::Freight<CHAR>
CharFreight;
101
typedef
alt::skeleton::Binder<CharFreight, CHAR*, size_t, alt::HeapMemory*>
CharBinder;
102
103
alt::HeapMemory
memory;
104
BOOL ret = memory.
Create
();
105
if
(!ret)
return
FALSE;
106
107
CharBinder binder;
108
binder.New ((CHAR*)
"ABCDEF"
, 6, &memory);
109
auto
freight = binder.Get ();
110
auto
data = binder->GetData ();
111
112
return
TRUE;
113
}
BinderMemoryLeakCheck.h
Binderのメモリーリークを確認します。
CRT_SET_DEBUG_FLAG
#define CRT_SET_DEBUG_FLAG
Definition:
pch.h:23
pch.h
プリコンパイル済みヘッダー ファイルです。
LeakCheck::BinderMemoryLeakCheck::DoAction
virtual BOOL DoAction()
メモリーリーク調査
Definition:
BinderMemoryLeakCheck.cpp:26
LeakCheck::BinderMemoryLeakCheck::DoAction4
BOOL DoAction4()
Definition:
BinderMemoryLeakCheck.cpp:95
LeakCheck::BinderMemoryLeakCheck::Init
virtual BOOL Init()
初期化処理
Definition:
BinderMemoryLeakCheck.cpp:21
LeakCheck::BinderMemoryLeakCheck::DoAction2
BOOL DoAction2()
Definition:
BinderMemoryLeakCheck.cpp:56
LeakCheck::BinderMemoryLeakCheck::DoAction3
BOOL DoAction3()
Definition:
BinderMemoryLeakCheck.cpp:75
LeakCheck::BinderMemoryLeakCheck::DoAction1
BOOL DoAction1()
Definition:
BinderMemoryLeakCheck.cpp:36
LeakCheck::BinderMemoryLeakCheck::~BinderMemoryLeakCheck
virtual ~BinderMemoryLeakCheck()
デストラクタ
Definition:
BinderMemoryLeakCheck.cpp:16
LeakCheck::BinderMemoryLeakCheck::BinderMemoryLeakCheck
BinderMemoryLeakCheck()
コンストラクタ
Definition:
BinderMemoryLeakCheck.cpp:11
alt::HeapMemory
ヒープメモリに関するAPIを集約したクラス
Definition:
HeapMemory.h:46
alt::HeapMemory::Create
BOOL APIENTRY Create(SIZE_T initialSize=0, SIZE_T maximumSize=0, DWORD dwOptions=0)
ヒープ領域の取得
Definition:
HeapMemory.cpp:56
alt::skeleton::Binder
newオブジェクトを管理するコンテナクラス
Definition:
Binder.hpp:18
alt::skeleton::Freight
プリミティブな変数を管理するコンテナクラス
Definition:
Freight.hpp:18
LeakCheck
Definition:
ArrayMemoryLeakCheck.h:12
MemoryLeakCheck
BinderMemoryLeakCheck.cpp
構築:
1.9.6