윈도우즈(Windows)

:: 미국의 마이크로소프트(Microsoft)사에서 만들었으며 83년 11월에 개발 시작, 85년 11월에 첫 버전 발표

:: 이미 시장을 장악하고 있었던 MS-DOS에 비해 멀티 태스킹이 가능

:: 훨씬 더 사용하기 쉽고 예쁜 모양의 GUI 기반 운영체제

:: 장치에 영향 받지 않음

:: 인터페이스 구성이 표준화되어 있어 어떤 프로그램이나 유사한 방법으로 사용할 수 있음

:: 리소스(프로그램에서 필요로 하는 여러가지 데이터)가 분리되어 있음

 

 

API(Application Programming Interface)

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

 

▷ 운영체제 : 하드웨어와 응용 프로그램 사이에 위치하며 응용 프로그램을 대신하여 하드웨어를 관리하고 메모리를 관리하는 시스템 소프트웨어.

따라서 특정 운영체제에서 실행되는 응용 프로그램은 운영체제에 종속적이며 운영체제가 규정한 바대로 하드웨어를 액세스해야한다.

 

그러나, 응용 프로그램 개발자들이 이러한 운영체제의 내부 동작을 하나하나 이해할 수 없다. 

따라서 운영체제는 가장 기본적인 동작을 할 수 있는 함수의 집합을 응용 프로그램에게 제공할 의무를 지며 응용 프로그램 개발자들은 운영체제가 제공하는 함수들을 사용할 권리와 의무를 가진다.

 

API와 비슷한 말로 SDK 라는 표현이 사용되기도 한다. SDK는 원래 API를 사용하여 프로그램을 개발하는 개발 툴 킷이었으나 지금은 의미가 전용되어 API와 거의 같은 뜻으로 쓰인다. 

 

 

변수 명명법 in 윈도우즈 프로그래밍

윈도우즈에서는 대체로 변수 이름을 길게 쓰며 되도록 보기 좋게(=읽기 쉽게) 하기 위해 대문자와 소문자를 적당히 혼합하여 사용한다. 따라서 외워두면 편리한 접두어들을 소개한다.

접두어 원래말 의미
cb Count of Bytes 바이트 수
dw double word 부호없는 long형 정수
h handle 윈도우, 비트맵, 파일 등의 핸들
sz NULL Terminated NULL 종료 문자열
w Word 부호없는 정수형
i Integer 정수형
Bool  논리형

ex) sbString = 문자열의 바이트 수를 나타내는 정수형 인수(또는 변수)

szMessage = NULL 문자열을 가리키는 포인터

 

 

데이터형

이 데이터형은 windows.h라는 헤더 파일에서 typedef로 선언되어 있다. 거의 모든 프로그램에서 마치 표준 데이터형처럼 사용하므로 알아두면 유용하다.

데이터형 의미
BYTE unsigned char 형
WORD unsigned short 형
DWORD unsigned long 형
LONG long
LPSTR char *
BOOL 정수형, TRUE or FALSE 중 하나

 

 

 

핸들(Handle)

1) 구체적인 어떤 대상에 붙여진 번호, "32비트의 정수값" - 구분을 위한 것이므로 중복되어서는 안됨

2) 운영체제가 발급해 주는 것, 사용자는 쓰기만 하면 됨

3) 핸들은 중복된 값을 가지지 않음

4) 핸들의 실제값을 알 필요가 없음 - 핸들형 변수를 만들어 핸들을 대입받아 쓰고 난 후 버리면 됨

 

핸들은 예외없이 접두어 h로 시작되며 핸들값을 저장하기 위해 별도의 데이터형도 정의되어 있다.

(HWND, HPEN, HBRUSH, HDC 등)

 

 

 

'Project > WIN32 API' 카테고리의 다른 글

그래픽 오브젝트  (0) 2021.07.12
그래픽  (0) 2021.07.08
리소스  (0) 2021.07.07
WndProc  (0) 2021.06.26
윈도우 창 생성 과정  (0) 2021.06.25

+ Recent posts