dl
dl
dl_main.h
浏览该文件的文档.
1
11
#include <cassert>
12
#include <cstdio>
13
#include <
system/dl_platform.h
>
14
#include <
system/dl_engine.h
>
15
16
17
extern
int
Main
();
18
19
#ifdef DL_USE_CRASH_RPT
20
#include "CrashRpt.h"
21
#endif
22
23
inline
void
dl_main_init
(
int
argc,
char
** argv)
24
{
25
#ifdef DL_USE_CRASH_RPT
26
CR_INSTALL_INFOW info;
27
memset(&info, 0,
sizeof
(CR_INSTALL_INFOW));
28
info.cb =
sizeof
(CR_INSTALL_INFOW);
// Size of the structure
29
info.pszAppName = L
"dl_engine"
;
// App name
30
info.pszAppVersion = L
"1.0.0"
;
// App version
31
info.pszEmailSubject = L
"CrashRpt Console Test 1.0.0 Error Report"
;
// Email subject
32
info.pszEmailTo = L
"test@hotmail.com"
;
// Email recipient address
33
34
// Install crash handlers
35
int
nInstResult = crInstallW(&info);
36
assert(nInstResult == 0);
37
38
// Check result
39
if
(nInstResult != 0)
40
{
41
WCHAR buff[256];
42
crGetLastErrorMsgW(buff, 256);
// Get last error
43
printf(
"%ws\n"
, buff);
// and output it to the screen
44
}
45
#endif
46
dl::Engine::_init_cmd
(argc, argv);
47
}
48
49
inline
void
dl_main_release
()
50
{
51
#ifdef DL_USE_CRASH_RPT
52
int
nUninstRes = crUninstall();
// Uninstall exception handlers
53
assert(nUninstRes == 0);
54
#endif
55
}
56
57
58
59
#if DL_PLATFORM != DL_PLATFORM_ANDROID
60
61
#if DL_USE_CONSOLE
62
int
main(
int
argc,
char
** argv)
63
{
64
dl_main_init
(argc, argv);
65
int
ret =
Main
();
66
dl_main_release
();
67
return
ret;
68
}
69
#else
70
#include <wtypes.h>
71
int
CALLBACK
WinMain
(
72
__in HINSTANCE hInstance,
73
__in HINSTANCE hPrevInstance,
74
__in LPSTR lpCmdLine,
75
__in
int
nCmdShow
76
)
77
{
78
dl_main_init
(__argc, __argv);
79
int
ret =
Main
();
80
dl_main_release
();
81
return
ret;
82
}
83
#endif
84
85
#else
86
#include <game-activity/native_app_glue/android_native_app_glue.h>
87
#include <
system/dl_android.h
>
88
// 主函数
89
void
android_main(android_app* app)
90
{
91
dl::g_android
=
new
dl::AndroidData
(app);
92
dl::g_android
->Init();
93
// todo 命令行参数
94
dl_main_init
(0,
nullptr
);
95
Main
();
96
delete
dl::g_android
;
97
}
98
99
#endif
dl::Engine::_init_cmd
static void _init_cmd(int argc, char **argv)
dl_android.h
安卓相关
dl_engine.h
dl引擎组件
dl_main_init
void dl_main_init(int argc, char **argv)
定义
dl_main.h:23
Main
int Main()
dl_main_release
void dl_main_release()
定义
dl_main.h:49
WinMain
int CALLBACK WinMain(__in HINSTANCE hInstance, __in HINSTANCE hPrevInstance, __in LPSTR lpCmdLine, __in int nCmdShow)
定义
dl_main.h:71
dl_platform.h
平台宏
dl::g_android
AndroidData * g_android
dl::AndroidData
安卓平台特有句柄
定义
dl_android.h:39
制作者
1.13.1