프로그래밍을 하다보면 일반 main문 이외에도 wmain, _tmain이 존재하는 것을 알 수 있고 우리를 헷갈리게 한다.
int main(int argc, char* argv[])
main()함수는 C++ 표준 함수에 해당한다.
main이라는 함수는 모든 C/C++ 프로그램이 실행되는 시작 지점이다. (시작 지점으로 진입하기 전에 런타임 라이브러리 초기화도 거침)
int wmain(int argc, wchar_t* argv[])
wmain의 경우 유니코드 프로그래밍 모델을 따르는 코드를 작성했을 때 사용한다. w는 wide의 의미를 가지며 main의 와이드 문자버전이다.
int _tmain(int argc, _TCHAR *argv[])
_tmain 함수는 Microsoft에서 확장된 형태의 main이다. 쉽게 말하면 main과의 차이는 멀티 바이트를 사용했느냐 유니코드를 사용했느냐에 따라 달라진다. _tmain 함수는, 유니코드를 지원하는 프로그램을 컴파일 할때 wmain 함수로 변경되고 유니코드를 지원하지 않는 프로그램을 컴파일 할 때 main 함수로 바뀐다.
즉, _tmain은 멀티바이트 사용이냐 유니코드 사용이냐에 따라 main과 wmain으로 바뀐다.
_tmain을 사용하기 위해서는 TCHAR.h 헤더 파일을 선언해야 한다.
기타
주로 int main(void)와 같은 형식을 많이 사용하나 void main(void)와 같이 반환형을 void로 주고 싶다면 exit 함수를 사용해야 한다.
Reference
'Interest > 기타' 카테고리의 다른 글
디버그 모드와 릴리즈모드 (Debug mode and Release mode) (0) | 2020.03.20 |
---|---|
fatal error C1189: #error: "No Target Architecture" (0) | 2020.03.18 |
[C/C++] 예외 핸들링(Exception Handling) (0) | 2020.03.18 |
[Windows Programming] API와 MFC의 차이 (2) | 2020.03.18 |
[Windows Programming] API와 SDK (0) | 2020.03.18 |