티스토리 뷰

VC++ 6.0 버젼에서는 time_t 가 long 타입(int 32) 였습니다. 따라서 2038년 1월 19일 3시 14분 07초가 지나면 문제가 발생합니다.
그래서 VC+ 2005 버젼 부터는 time_t가 int 64로 변경 되었습니다.  따라서 VC++ 6.0 버젼의 코드를 사용하시면 VC+2005이상의 버젼에서 문제가 발생합니다. 
그러면  _USE_32BIT_TIME_T 옵션을 주면 해결됩니다. 
하지만 근본적인 해결책은 코드를 변경해 주는 것이겠지요.
아래는 MSDN 원문입니다.

In versions of Visual C++ and Microsoft C/C++ before Visual C++ 2005, time_t was a long int (32 bits) and hence could not be used for dates past 3:14:07 January 19, 2038, UTC. In Visual C++ 2005, time_t is equivalent to __time64_t by default, but defining _USE_32BIT_TIME_T changes time_t to __time32_t and forces many time functions to call versions that take the 32-bit time_t. For more information, see Standard Types and comments in the documentation for the individual time functions.

리눅스 프로그램을 포팅하는데 돌아버리시겠다 ㅡㅡ;