안녕하세요.
우연히 보이길래 호기심에 받아봤는데 제대로된 것 같지는 않구요
조금 이상한데 .. 헤더화일과 C모듈 한조각씩 보면..
/*Module:d_main.c*/
#define TRUE (1)
#define FALSE (0)
#define DA_GAMELOOP (9)
#define DA_STARTGAME (8)
~ 중략.
struct def {
19:UNSIGNED BYTE _tmpfchar
18:UNSIGNED BYTE _ungotten
14:UNSIGNED LONG _bufsize
10:SIGNED LONG _handle
C:UNSIGNED LONG _flag
8:SIGNED BYTE char * _base
4:SIGNED LONG _cnt
0:SIGNED BYTE char * _ptr
}struct typestruct __iobuf
end of st ruct def
struct def {
4:SIGNED LONG rem
0:SIGNED LONG quot
}struct typestruct div_t
end of struct def
~ 후략.
D_MAIN.H의 일부분입니다.
/*Module:d_main.c*/
SIGNED BYTE char *wads[3];
~ 중략.
VOID main( SIGNED LONG ,SIGNED BYTE char **)
/*-08*/ SIGNED LONG argc;
/*-04*/ SIGNED BYTE char **argv;
{
LINE:130 push 0024
LINE:130 call __CHK
LINE:130 push ebx
LINE:130 push ecx
LINE:13 0 push esi
LINE:130 push edi
LINE:130 push ebp
LINE:130 mov ebp,esp
LINE:130 sub esp,0008
LINE:130 mov [argc],eax
LINE:130 mov [argv],edx
~ 중략.
LINE:145 call M_Startup_
LINE:146 call P_Startup_
LINE:148 call D_DemoLoop_
LINE:150 mov eax,3A5C "Fell ou t of main?"
LINE:150 push eax
LINE:150 call IO_Error_
LINE:150 add esp,00004h
LINE:151 mov esp,ebp
LINE:151 pop ebp
LINE:151 pop edi
LINE:151 pop esi
LINE:151 pop ecx
LINE:151 pop ebx
LINE:151 ret
}
D_MAIN.C 의 일부분입니다 .
보 시면 아시겠지만 표준 C의 문법같지는 않고 DOOM이 Watcom C를 썼다는데
그 문법이 이러한가요 .
C모듈이 모두 26개가 있는다 다 이런형태입니다.
디스어셈블한거라고 보기엔 너무 자세하구요 .
아마 프리프로세싱 그런 비슷한걸 한것 같기도 하고 ..
잘 모르겠네요 .. 궁금하신분은 받아보시길 ..
그럼 ..
소페파스