본문 바로가기

전자 공학/MFC

[MFC 독학하기] 1. 윈도우 프로그래밍이란?

반응형

 

 

 

안녕하세요. 취업한 공대누나입니다.

오늘부터 MFC 윈도우 프로그래밍 공부를 진행해보려고 합니다.

학생 때 배워보지 않았기도 하고, 일하면서 알고 있으면 좋을 것 같아서 시작하게 되었습니다.

소프트웨어 쪽 지식은 특히나 얕기 때문에 천천히 해보겠습니다.

 

1. 윈도우 프로그래밍이란?

윈도우 운영체제에서 구동되는 응용 프로그램으로 사용자에 의해 발생하는 이벤트에 의해 실행이 됩니다.

이벤트 기반, 메시지 기반 프로그래밍이라고도 불립니다.

1) GUI Interface (그래픽 유저 인터페이스)

Graphical User Interface의 약자입니다.

사용자가 그래픽을 통해 컴퓨터와 정보를 교환하는 작업 환경을 말합니다.

GUI의 반대는 CLI(Command-Line Interface)인데요. 도스와 같이 키보드로 명령어를 일일이 쳐서 프로그램을 하는 방식입니다.

 

2)  메시지 구동 구조 (Message - Driven Architecture)

일반적으로 도스용 프로그램은 프로그래머가 정한 순서대로 실행이 됩니다.

하지만 대부분의 윈도우 응용 프로그램은 프로그래머가 정한 순서대로 실행되는 것이 아닙니다.

외부에서 메시지가 발생시키는 이벤트가 발생하면 운영체제가 관리하는 시스템 메시지 큐에 정보가 저장됩니다.

여기서 메시지(Message)란 프로그램에 변화가 생겼을 때 Windows가 프로그램에게 알리는 정보입니다.

사용자가 마우스의 버튼을 눌러서 무엇인가를 실행시킨다거나 이런 것들이 해당됩니다.

각각의 응용 프로그램은 운영체제로부터 독립적인 메시지 큐를 할당받으며, 운영체제는 시스템 메시지 큐에 저장된 메시지를 적절한 응용 프로그램 메시지 큐에 보냅니다.

응용 프로그램은 자신의 메시지 큐를 감시하다가, 발생한 메시지가 큐에 들어오면 하나씩 꺼내서 처리하고

메시지가 없을 떄는 대기하게 됩니다.

 

2. 특징

1) API 

Application Programming Inteface의 약자로

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

화면에 점을 찍거나 선을 그리는 간단한 동작부터 파일 입출력, 네트워킹 같은 복잡한 기능에 이르기까지 다양한 API 함수를 제공합니다.

응용프로그램과 디바이스를 연결해주는 역할을 한다고 보시면 됩니다.

그러기 때문에 운영체제의 동작까지 애하하면서까지 개발을 할 필요는 없습니다.

 

2) 실행 파일과 DLL 집합

DLL은 Dynamic-Link Library, 동적 연결 라이브러리이다.

여러 프로그램에서 동시에 사용할 수 있는 코드와 데이터가 포함된 라이브러리 입니다.

윈도우 운영체제가 제공하는 API는 DLL 형태로 제공됩니다.

프로그래머는 직접 필요한 기능을 DLL로 제작할 수도 있습니다.

 

3. 개발 방식

1) SDK

Softeare Development Kit의 약자로

마이크로소프트사에서 제공하는 윈도우 응용 프로그램 개발 키트를 말합니다.

SDK 프로그램 개발은 C/C++ 언어로 윈도우 API를 호출해서 프로그램을 구현하는 것입니다.

지금은 의미가 전용되어 API와 거의 같은 뜻으로 사용되고 있습니다.

 

2) .NET 프레임워크

MS에서 개발한 윈도우 프로그램 개발 및 실행 환경입니다.

네트워크 작업, 인터페이스 등의 많은 작업을 캡슐화하여서 효율성을 높였습니다.

 

 

오늘은 윈도우 프로그래밍에 대한 간단하고 핵심적인 내용만 공부해보았습니다.

아무래도 기초 지식은 있어야지 앞으로 공부하는 데에 수월할 것이라 생각합니다.

다음 시간부터는 실습 위주로 공부해보도록 하겠습니다.

감사합니다.

반응형