sdk-core
v2026.11.05
PS2 SDK - core tier (build-critical EE/IOP modules)
Toggle main menu visibility
Loading...
Searching...
No Matches
crt0.c
1
#include <
stdio.h
>
2
typedef
void (*func_ptr)(void);
3
extern
func_ptr __CTOR_END__[];
4
extern
func_ptr __DTOR_LIST__[];
5
extern
func_ptr __DTOR_END__[];
6
7
static
void
__do_global_ctors(
void
)
8
{
9
func_ptr *p = __CTOR_END__ - 1;
10
11
if
(*(
int
*)p != -1) {
12
for
(; *(
int
*)p != -1; p--) {
13
(*p)();
14
}
15
}
16
}
17
18
static
void
__do_global_dtors(
void
)
19
{
20
int
num = __DTOR_END__ - __DTOR_LIST__ - 1;
21
int
idx = 0;
22
23
while
(idx < num) {
24
idx++;
25
__DTOR_LIST__[idx]();
26
}
27
}
28
29
extern
int
main(
int
argc,
char
*argv[]);
30
31
int
_start(
int
argc,
char
*argv[])
32
{
33
int
ret;
34
35
if
(argc >= 0) {
36
__do_global_ctors();
37
ret = main(argc, argv);
38
}
else
{
39
ret = main(argc, argv);
40
__do_global_dtors();
41
}
42
43
return
ret;
44
}
stdio.h
core
startup
src
iop
crt0.c
Generated by
1.18.0