E D R , A S I H C RSS

Developmentin Windows

윈도우즈 운영체제 기반의 프로그램 개발에 대해 소개하는 세미나 입니다. 02학번들에게 많은 도움 되었으면 좋겠습니다.


1. 윈도우즈 운영체제

  • 32비트 운영체제
  • 멀티태스킹 지원
  • 멀티스래딩 지원

2. 서브시스템

  • Console 서브시스템 - 텍스트 모드 에플리케이션 운영
  • Windows 서브시스템 - GUI 모드 에플리케이션 운영

    (앞으로 Windows 서브시스템 기반의 프로그래밍을 윈도우즈 프로그래밍이라고 하겠다.)
  • Native 서브시스템 - 디바이스 드라이버 운영
  • Windows CE 서브시스템 - Windows CE 에플리케이션 운영
  • POSIX 서브시스템 - POSIX 에플리케이션 운영

3. 윈도우즈 프로그래밍

  • 표준 사용자 인터페이스 제공 (DevelopmentinWindows/UI)
  • 메시지 구동 방식
  • 하드웨어 독립적 프로그래밍
  • 윈도우즈 API
  • MFC
  • 리소스
  • DLL
  • 윈도우즈 데이터 타입
  • 헝가리언 표기법

4. 메시지 구동 방식

  • 프로그램이 순차적으로 실행되지 않고 메시지 발생에 따라 실행이 되는 방식

5. 하드웨어 독립적 프로그래밍

  • 하드웨어를 신경쓰지 않고 프로그래밍 할 있다.

6. 윈도우즈 API와 MFC

  • 윈도우즈 API (Application Program Interface)
    • 윈도우즈 프로그래밍을 하기 위해 필요한 함들을 제공
    • 세부적인 것들을 모두 다룰 있지만 너무 복잡해서 사용하기 어렵다.
  • MFC (Microsoft Foundation Class library)
    • 윈도우즈 API를 클래스로 포장하여 제공하는 클래스 라이브러리
    • 윈도우즈 API 만큼 세부적인 것들을 모두 다룰 는 없지만 윈도우즈 API 보다 사용하기 쉽다.
    • AppWizard, ClassWizard 등의 툴과의 통합으로 더욱 쉽게 사용할 있다.

7. 리소스

  • 실행파일에 붙여지는 바이너리 데이터
  • 아이콘, 커서, 메뉴, 다이얼로그 박스, 비트맵, 폰트, 엑셀레이터 테이블, 스트링 테이블, 버전 정보 등

8. DLL

  • Static-Link Library


  • Dynamic-Link Library


  • 코드를 여러 프로그램에서 공유하므로 메모리를 절약할 있다.
  • 윈도우즈 프로그래밍에서는 대부분의 라이브러리가 DLL로 제공된다.

    (윈도우즈 API - kernel32.dll, gdi32.dll, user32.dll

    MFC - mfc42.dll

    OpenGL - gl32.dll, glu32.dll

    DirectX - dplay.dll, dsound.dll, dinput.dll, ddraw.dll)

9. 윈도우즈 데이터 타입

데이터 타입의미
BOOLTRUE 또는 FALSE 값만 가질 있다.
BYTEunsigned char
CHARsigned char
DOUBLEdouble
DWORDunsigned long
FLOATfloat
HANDLE핸들
INTsigned int
LONGsigned long
LPARAM메시지 파라미터
LPCSTRNULL 문자로 끝나는 문자열 상 포인터
LPSTRNULL 문자로 끝나는 문자열 포인터
SHORTsigned short
UINTunsigned int
WORDunsigned short
WPARAM메시지 파라미터

10. 헝가리언 표기법


    • 일반적으로 "동사 + 목적어" 또는 "동사 + 보어" 로 만들고 각 단어의 첫글자는 대문자로 나머지는 소문자로 쓴다.
    • 윈도우를 만드는 함CreateWindow, 메시지를 보내는 함SendMessage

  • 접두어의미
    a배열
    b 또는 fBOOL 타입의 변
    byBYTE 타입의 변
    c카운터로 사용되는 변
    chCHAR 타입의 변
    dblDOUBLE 타입의 변
    hHANDLE 타입의 변
    n 또는 iINT 타입의 변
    lLONG 타입의 변
    p & lp포인터 변
    s문자열
    szNULL로 끝나는 문자열
    uUINT 타입의 변
    wWORD 타입의 변
    dwDWORD 타입의 변

11. 윈도우즈 API를 이용한 예제 프로그램

12. MFC를 이용한 예제 프로그램

13. 참고자료

  • MSDN
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:08
Processing time 0.0405 sec