헤더파일에 이렇게 되어있습니다. 무엇을 뜻하는건지 모르겠어서요
글쓴이: hojin / 작성시간: 금, 2007/04/13 - 12:19오후
안녕하세요.
초보 SI 개발자입니다.
턱시도란 녀석의 소스를 보던중 아래와 같은것이있는데요.
extern char _TM_FAR * _TMDLLENTRY tpalloc _((char _TM_FAR *, char _TM_FAR *, long));
저것이 도무지 멀뜻하는건지 모르겠습니다.
_TM_FAR , _TMDLLENTRY 은 struct 로 되어있더군요.
그리고 tpalloc 는 실제 개발시 호출되는 api 입니다. 괄호는 tpalloc 의 함수 형이구요.
근데 저렇게 왜 선언을 하는것인지.
짧은 지식으로 이해가 안되네요.
함수포인터도 아닌것이.. 알쏭달쏭합니다.
지도편달 바랍니다.
김호진
Forums:
턱시도란 것이
턱시도란 것이 분산처리나 호환성을 위한 어떤 미들웨어 같은 거였던 것으로 어렴풋이 기억합니다. 그렇다면 다양한 플랫폼에서의 소스 호환성을 유지하려고 저렇게 표현한 것이 아닐까 생각합니다.
제 생각에는 struct 보다는 typedef문으로 선언되어 있을 것 같네요.
동의합니다.
extern으로 선언해놓은 걸로 봐서 다른 플랫폼에서도 이름을 바꿔가면서 사용하려고 하는것 같습니다.
윈도우즈 호환성의 잔재인 듯 싶습니다.
win95 시절, 16bit, 32bit 포인터 호환을 위해 사용하던 _FAR, _NEAR, DLL_ENTRY MACRO를 턱시도에서 재정의한 흔적같네요.
struct가 아닌 #define 매크로라고 생각됩니다.
실제 돌아가는데는 전혀 쓰이지 않을 확률이 높습니다.
댓글 달기