■ 콘솔 어플리케이션 vs. 윈도우 어플리케이션

1. 콘솔 어플리케이션

메인 함수에서 시작해 실행 후 메인함수로 돌아와 종료.

즉, 프로그래머가 결정해 둔 순서대로 실행 됨.

 

2. 윈도우 어플리케이션

메시지를 받아서 처리. 사용자가 클릭하는 이벤트에 따라 함수 실행. 함수의 진행순서라는 개념이 없어지므로,

함수가 순서대로 실행된다는 관점을 버려야 함.

 

→ 함수의 호출순서가 큰 의미가 없다.

→ 반드시 함수의 존재가 호출되지는 않는다.

→ 콘솔의 경우 프로그램의 실행이 끝날때까지 프로그램이 제어권을 가지고 있으나,

윈도우의 경우 응용프로그램과 운영체제 간 계속해서 제어권을 주고 받는다.

제어권을 제 시간에 넘겨주지 못하는 경우 발생하는 것이 '응답없음'.

 

■ 윈도우 프로그래밍을 위해서는,

1. 리소스(그림파일+메뉴, 소리 등) 다루기

2. Boiler Plate(개발도구에서 기본적으로 제공해주는 코드) 이해

3. 사용자 정의된 함수를 조직화 시킬줄 알아야 함

 

■ API(Application Programming Interface)란?

운영체제가 응용 프로그램을 위해 제공하는 함수의 집합

 

응용프로그램 → 운영체제 → 하드웨어

 

운영체제: 응용프로그램과 하드웨어 사이에서, 응용 프로그램을 대신하여 하드웨어와 메모리 관리

응용프로그램을 만드는 프로그래머들은 운영체제의 표준규칙에 따라 프로그램을 만들고 하드웨어에 액세스할 수 있도록 해야한다.

이를 위해, 운영 체제는 기본적인 동작을 위한 함수의 집합을 응용 프로그램에게 제공하며,

응용 프로그램 개발자들은 운영체제가 제공하는 함수들을 사용한다.

이러한 응용 프로그램을 위한 함수 집합을 API라고 한다.

 

윈도우즈에서 제공하는 API를 윈도우즈 API라고 하지만, 요즘은 일반적으로 API라고 하면 윈도우즈 API를 일컫는다.

비슷한 말로 SDK(Software Development Kit)라는 표현이 사용되기도 한다.

 

cf.)

□ 이벤트 처리기: 버튼을 눌렀을 때 실행되는 함수(버튼에 반응하는 함수)

□ 진입점 함수의 호출 주체는 항상 운영체제

□ 정적라이브러리(.lib): 실행 시켰을 때 실행파일과 같이 메모리에 로드되어 있음

□ 동적라이브러리(.dll): 호출 시점에 메모리에 올라갔다 끝나면 내려옴


'PROGRAMMING > winAPI' 카테고리의 다른 글

[0317수업] struct SCROLLINFO  (0) 2011.03.17
DC(Device Contexts)  (0) 2011.03.17
핸들(handle)  (0) 2011.03.17
[0316수업] WndProc()함수 분석  (0) 2011.03.16
[0315수업] WinMain(), WndProc()  (0) 2011.03.15
Posted by 마마필로 :