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.0462 sec