geek.log2005. 6. 4. 00:11

오늘 비주얼 스튜디오에서 흥미로운 사실을 발견.

비주얼 스튜디오에서 DLL프로젝트를 만들때 "기호 내보내기"옵션을 줘서 생성하면
다음과 같은 코드 템플릿을 만들어준다.

// dlltest.cpp : DLL 응용 프로그램에 대한 진입점을 정의합니다.
//

#include "stdafx.h"
#include "dlltest.h"
BOOL APIENTRY DllMain( HANDLE hModule,
                                       DWORD  ul_reason_for_call,
                                       LPVOID lpReserved
                                     )
{
    switch (ul_reason_for_call)
    {
    case DLL_PROCESS_ATTACH:
    case DLL_THREAD_ATTACH:
    case DLL_THREAD_DETACH:
    case DLL_PROCESS_DETACH:
        break;
    }
    return TRUE;
}


// 내보낸 변수의 예제입니다.
DLLTEST_API int ndlltest=0;


// 내보낸 함수의 예제입니다.
DLLTEST_API int fndlltest(void)
{
    return 42;
}


// 내보낸 클래스의 생성자입니다.
// 클래스 정의를 보려면 dlltest.h를 참조하십시오.
Cdlltest::Cdlltest()
{
    return;
}


자.. 보이는가! return 42;의 압박이!
크핫핫. 결국 MS의 개발자들도 인생, 우주와 모든 것에 대한 궁극적인 질문의 해답을 알고 있었다는 말!
(그런데 왜 제품은 그모냥으로 만드냐고..)

첨언 : 42에 대해 잘 모르는 분은 여기여기를 방문해 보시길;

Posted by uhm