c·c++/c 프로그래밍

main과 winMain, dllMain의 차이점에 관하여 설명 좀 해주세요 ~~

바로이순간 2012. 3. 22. 09:32

[1] winmain은 .exe로 끝나는 응용 프로그램에서 프로세스의 시작을 나타낸다.

사용자가 작성한 코드의 시작점을 나타낸다.

운영체제가 이 프로그램을 시작하기 위해서는 이 시작점이 있어야만 한다.

-- 이 프로그램으 GUI (windows 기반) 프로그램이다.


[2] dllmain 은 dll에서 사용된다.

이 dllmain함수는 다음 경우에 호출된다.

1. dll이 다른 프로세스 속으로 로드(적재)될 경우.

2. dll이 프로세스에서 떨어져 나올때

3. 쓰레드가 프로세스 속에서 시작할 경우

4. 쓰레드가 프로세스에서 끝날 경우


가능한한 이 dllmain 은 호출하지 않는 것이 좋다.

-- 이 프로그램은 dll 이다.

dll은 스스로는 실행되지 않고, 다른 exe 응용 프로그램에 의해서 만 실행이 된다.


[3] main 은 콘솔 기반의 응용프로그램의 시작점을 나타낸다. ( .exe로 끝나는 점은 같다)

-- 이 프로그램은 콘솔 응용프로그램 이다.