- 윈도우 운영체제와 윈도우 응용 프로그램의 특징을 이해한다.
- SDK 응용 프로그램의 작성 과정과 기본 구조 및 동작 원리를 이해한다.
- MFC 응용 프로그램의 작성 과정과 기본 구조 및 동작 원리를 이해한다.
- 비주얼 C++ 개발 환경의 사용법을 익힌다.
윈도우 운영체제의 특징
기본적인 윈도우 창. GUI
메모리 구동 구조.
시스템 메시지 큐, 응용프로그램 메시지 큐 2가지가 존재한다.
n 멀티태스킹과 멀티스레딩
멀티태스킹(Multitasking)
– 운영체제가 여러 개의 응용 프로그램을 동시에 실행
멀티스레딩(Multithreading)
– 응용 프로그램 내부에서 여러 개의 실행 흐름(=스레드)을 동시에 진행
윈도우 응용 프로그램의 특징
n API 호출문 집합
윈도우 API(Application Programming Interface)란?
– 윈도우 운영체제가 응용 프로그램을 위해 제공하는 각종 함수의 집합
Ø 16비트 윈도우에서는 Win16 API, 32 또는 64비트 윈도우에서는 Win32 API라 부름
n 실행 파일과 DLL 집합
DLL(Dynamic-Link Library)이란?
– 프로그램이 실행 중에 결합하여 사용할 수 있는 코드와 리소스의 집합
Ø 윈도우 운영체제가 제공하는 API는 DLL 형태로 제공되며,
응용 프로그래머는 필요한 기능을 DLL로 제작하기도 함
n 장치 독립성
장치 독립성(Device-Independency)이란?
– 주변 장치가 바뀌어도 장치 드라이버(Device Driver)만
설치하면 프로그램을 수정하지 않고 실행할 수 있음
윈도우 응용 프로그램의 개발 방식
n SDK ->최적화된 프로그램을 만들때 용이하다.// 게임 개발시에 유용
특징
– 윈도우 API Ë 응용 프로그램 코드(C/C++ 언어)
장점
– API를 직접 다루기 때문에 세부 제어가 가능함
– 윈도우 운영체제가 제공하는 모든 기능을 사용 가능
– 생성 코드의 크기가 작고 속도도 빠름
단점
– 다른 개발 방식에 비해 생산성이 매우 낮음
n RAD -> GUI방식을 통한 인터페이스 추가가 가능해서 쉽다.
->하지만 코드를 변환시에 어렵다.
-> 업무용 프로그램에서 유용하다. 간단한 프로그램이라.
특징
– 시각적 화면 디자인 Ë 응용 프로그램 코드
장점
– 간편하게 직관적으로 프로그래밍할 수 있음
– 빠른 시간 내에 원하는 기능의 프로그램 개발 가능
단점
– SDK나 클래스 라이브러리를 이용한 개발 방식보다
생성 코드의 크기가 크고 실행 속도도 떨어지는 편임
– 윈도우 운영체제가 제공하는 모든 기능을 활용한
세부적인 제어가 어려운 경우가 있음
n 클래스 라이브러리 ( MFC를 이용 )
특징
– 클래스 라이브러리 Ë 응용 프로그램 코드(객체지향언어)
장점
– SDK를 이용한 방식보다 생산성이 높음
– API를 직접 사용해서 세부적으로 제어할 수 있음
– RAD 개발 방식보다 코드 크기와 실행 속도 면에서 유리함
단점
– 객체 지향 프로그래밍에 익숙해야 함
– 클래스 라이브러리의 구조와 각 클래스의 기능 및 관계를
파악하기 위한 초기 학습 기간이 긴 편임
- > 자주 사용하는 것들을 묶어서 캡슐화 한것이 mfc다 하지만 그 외 것들은 API를 통해 접근.
n .NET 프레임워크
.NET 프레임워크란?
– 윈도우 운영체제에 설치할 수 있는 소프트웨어 개발 및
실행 환경
– 공용 언어 런타임(CLR, Common Language Runtime)
이라는 소프트웨어 가상 머신을 제공하며, 가상 머신의
제어 하에 응용 프로그램이 구동됨(장치 독립성)
– 윈도우 API에 버금가는 방대한 라이브러리를 제공하며,
언어에 상관없이 라이브러리를 사용 가능(언어 독립성)