Windows Programming
-
[Windows Programming] Windowsμμμ μ λμ½λ(Unicode)Windows Programming 2020. 6. 6. 22:36
- λλ₯Ό μκ·Ήνλ μλμ°μ¦ μμ€ν νλ‘κ·Έλλ° μ± μ μ°Έκ³ νμ¬ μμ±νμμ΅λλ€. β λ¬Έμμ μ μ’ λ₯μ νΉμ± SBCS ( Single Byte Character Set) : λ¬Έμλ₯Ό νννλλ° 1byte μ¬μ© ( μμ€ν€ μ½λ ) MBCS( Multi Byte Character Set) : νκΈ 2byte, μμ΄ 1byte μ¬μ© WBCS( Wide Byte Character Set) : λ¬Έμλ₯Ό νννλλ° 2byte μ¬μ© ( μ λμ½λ) β WBCS κΈ°λ°μ νλ‘κ·Έλλ° WBCSλ₯Ό μν λ κ°μ§λ₯Ό μ κ²½μ¨μΌ νλ€ char λμ wchar_t μ¬μ© ex) wchar_t str[] = L"ABC" "ABC" λμ L"ABC μ¬μ© λ°°μ΄μ ν¬κΈ° : 8 ( NULL λ¬Έμ ν¬ν¨ ) λ¬Έμμ΄ κΈΈμ΄ : 7 ( νκΈμ 2 μ°¨μ§ ) β MBCS..
-
[Windows Programming] Stored Program Concept, νλ‘κ·Έλ¨ μ€νκ³Όμ Windows Programming 2020. 6. 6. 22:17
- λλ₯Ό μκ·Ήνλ μλμ°μ¦ μμ€ν νλ‘κ·Έλλ° μ± μ μ°Έκ³ νμ¬ μμ±νμμ΅λλ€. β νλ‘κ·Έλ¨ μ€νκ³Όμ μ μ²λ¦¬κΈ° - μ»΄νμΌλ¬ - μ΄μ λΈλ¬ - κ²°ν© 1. μ μ²λ¦¬κΈ°μ μν μΉν μμ - #μΌλ‘ μμνλ μ§μμ 2. μ»΄νμΌλ¬μ μν λ²μ - CPUμ λͺ λ Ήμ΄λ‘ λ²μ - μ»΄ν¨ν° νλ‘κ·Έλλ° μΈμ΄μμ μ€λΈμ νΈ μ½λ(.obj) λ‘μ λ³ν - μ’μ μλ―Έλ‘ κ³ μμ€μΈμ΄μμ μ μμ€μΈμ΄(μ΄μ λΈλ¦¬μ΄, κΈ°κ³μ΄)λ‘μ λ³ν 3. μ΄μ λΈλ¬μ μν λ°μ΄λ리 μ½λ μμ± - CPUμ λͺ λ Ήμ΄λ₯Ό λ°μ΄λ리 μ½λλ‘ λ²μ ex) ADD -> 0011 4. λ§μ»€μ μν μ°κ²°κ³Ό κ²°ν© - μ€λΈμ νΈ μ½λ(.obj)λ₯Ό μ¬λ¬ λΌμ΄λΈλ¬λ¦¬μ κ²°ν©νμ¬ μ€ννμΌ(.exe) μμ± β» ν·κ°λ¦¬λ μ©μ΄ μ 리 ( μ΄μ λΈλ¦¬μ΄ vs μ΄μ λΈλ¬ ) μ΄μ λΈλ¦¬μ΄ : κΈ°κ³μ΄μ μΌλμΌ λμλλ μ»΄..
-
[Windows Programming] μ»΄ν¨ν° νλμ¨μ΄ ꡬμ±, νλ‘κ·Έλ¨ μ€ν λ°©μWindows Programming 2020. 6. 4. 01:28
- λλ₯Ό μκ·Ήνλ μλμ°μ¦ μμ€ν νλ‘κ·Έλλ° μ± μ μ°Έκ³ νμ¬ μμ±νμμ΅λλ€. β μ»΄ν¨ν° νλμ¨μ΄ κ΅¬μ± 1. CPU ( Central Processing Unit ) - μ€μ μ²λ¦¬ μ₯μΉ - μ°μ°μ΄ μ΄λ€μ§λ μ₯μΉλ₯Ό λκ² μ΄μΌκΈ°νλ©΄ CPUκ° λ΄λΉ 2. λ©μΈ λ©λͺ¨λ¦¬ ( Main Memory ) - λ¨(RAM) - νλ‘κ·Έλ¨ μ€ν λ°©μ ( μ°μ°μ νλ‘κ·Έλ¨ μ€ν λ°©μμ μΌλΆλΆ ) 3. μ μΆλ ₯ λ²μ€( Input/Output Bus ) - λ°μ΄ν° μ‘.μμ μ΄ μ΄λ€μ§λ κ³³ 4. ALU - μ€μ μ μΈ μ°μ°μ΄ μ΄λ€μ§λ μ₯μΉ 5. Control Unit - μ΄λ€ μ€νμ ν κ²μΈμ§ λͺ λ Ήμ΄ ν΄μ - ALUμκ² μ°μ°μ μλ €μ£Όλ μ₯μΉ β νλ‘κ·Έλ¨ μ€ν λ°©μ μμ ) λ§μ μ°μ°μ μ€ν (A.exe) 1. A.exe(μ€ν νμΌ) μ€ν - Ha..
-
[Windows Programming] μ λμ½λμ ANSIWindows Programming 2020. 1. 19. 15:35
μ΄ κΈμ μ ν리 리μ²μ "Windows via C/C++"μ ν λλ‘ μμ±νμμ΅λλ€ C μΈμ΄ κ°λ°μλΌλ©΄ C μ΄μ΄μ char μλ£νμ΄ 8λΉνΈμ ANSI λ¬Έμλ₯Ό νννκΈ° μν΄ μ‘΄μ¬νλ€λ κ²μ μκ³ μλ€. λ§μ΄ν¬λ‘μννΈμ C/C++ μ»΄νμΌλ¬λ 16λΉνΈ μ λμ½λ(UTF-16)μ νννκΈ° μν wchar_t μλ£νμ λ΄μ₯ μλ£νμΌλ‘ μ²λ¦¬ν μ μλ κΈ°λ₯μ μΆκ°νμλ€. ANSI λ¬Έμμ μ λμ½λ λ¬Έμ ANSI // 8λΉνΈ λ¬Έμ char c = 'A' // 99κ°μ 8λΉνΈ λ¬Έμμ 8λΉνΈ λ¬Έμμ΄ μ’ κ²° λ¬Έμ(0) char szBuffer[100] = "A String" μ λμ½λ // 16λΉνΈ λ¬Έμ wchar_t c = L'A' // 99κ°μ 16λΉνΈ λ¬Έμμ 16λΉνΈ λ¬Έμμ΄ μ’ κ²° λ¬Έμ(0) Wch..
-
[Windows Programming] μΈμ½λ©μ΄λ?ANSI, ASCII, μ λμ½λ, λ©ν°λ°μ΄νΈWindows Programming 2020. 1. 19. 14:55
μ΄ κΈμ μ ν리 리μ²μ "Windows via C/C++"μ ν λλ‘ μμ±νμμ΅λλ€ λ§μ΄ν¬λ‘μννΈ μλμ°κ° μ μ λ λ²μ©νλ¨μ λ°λΌ μ ν리μΌμ΄μ κ°λ°μλ€μκ² λ€μν κ΅μ ν μμ₯μ λν μ€μμ±μ΄ μ¦λνκ³ μλ€. μ§μνλ₯Ό μν΄ μ λμ½λλ₯Ό μ¬μ©νκ³ μλλ° μ λμ½λκ° λ¬΄μμΈμ§, λ©ν°λ°μ΄νΈ, ANSI λ± λ€μν μΈμ½λ© λ°©μμ λν΄ μκ°νλ €κ³ νλ€. μΈμ½λ© μΈμ½λ©μ΄λ μ¬λμ΄ μκ³ μλ μΈμ΄λ₯Ό μ»΄ν¨ν°κ° μ¬μ©νλ 0κ³Ό 1 κ°μ μ΄μ§ μ½λλ‘ λ³ννλ κ³Όμ μ μΈμ½λ©μ΄λΌκ³ νλ€. ASCII μμ΄μ νμμ μμ΄λ¬Έμλ₯Ό μΈμ½λ©νλ λ°©μμ λ§νλ€. λλΆλΆμ κ°λ°μλΌλ©΄ λ§μ΄ λ€μ΄λ΄€μλ§ν μΈμ½λ©μ΄κ³ λ¬Έμμ΄μ ν¬κΈ° λΉκ΅λ₯Ό μ¬μ©ν λλ ASCII μ½λλ₯Ό λ³΄κ³ λΉκ΅νλ€. ASCII(7bit) : 128 κ°μ λ¬Έμλ₯Ό νννλ€. ANSI λ§μ΄ν¬..
-
[Windows Programming] μλ¬ νΈλ€λ§(Error Handling) [2]Windows Programming 2020. 1. 14. 23:19
μ΄ κΈμ "μ ν리 리μ²μ Windows via C/C++" ν λλ‘ μμ±νμ΅λλ€ μλ¬ νΈλ€λ§ μμ μλμ° ν¨μκ° νΈμΆμμκ² μ΄λ»κ² μλ¬λ₯Ό λ°ννλμ§ λ³΄μλ€. λ§μ΄ν¬λ‘μννΈλ μ΄λ¬ν λ©μ»€λμ¦μ μ°λ¦¬κ° κ°λ°νλ ν¨μμ λν΄μλ μ μ©ν μ μλλ‘ νλ€. κ°λ°νλ ν¨μλ νλ νΉμ μ¬λ¬ κ°μ§ μ΄μ μ μν΄ μ€ν¨ν μ μμ κ²μ΄λ©°, μ€ν¨μ μμΈμ νΈμΆμμκ² λ°ννλλ‘ μμ±λμ΄μΌ νλ€. μ€ν¨λ₯Ό λνλ΄κΈ° μν΄ μ€ν¨μ μ΄λ₯λ₯Ό μ€λ λμ λ§μ§λ§ μλ¬ μ½λλ‘ μ€μ νκ³ FALSE, INVALID_HANDLE_VALUE, NULL κ°μ κ°μ΄λ μ μ ν κ°μ λ°ννλλ‘ μμ± VOID SetLastError μ€λ λμ λ§μ§λ§ μλ¬ μ½λλ₯Ό μ€μ νκΈ° μν ν¨μ DWORD dwErrCode : μλ¬ μ½λ μλ¬ μ½λλ 32λΉνΈ κ°μ΄λ€. μλ¬μ ..
-
[Windows Programming] μλ¬ νΈλ€λ§(Error handling) [1]Windows Programming 2020. 1. 13. 23:01
μ΄ κΈμ μ ν리 리μ²μ "Windows via C/C++"μ ν λλ‘ μμ±νμ΅λλ€. μλ¬ νΈλ€λ§ μλμ° ν¨μλ₯Ό νΈμΆνλ©΄ νΈμΆλ ν¨μλ λ¨Όμ μ λ¬λ μΈμμ μ ν¨μ±μ νμΈνκ³ ν¨μμ κΈ°λ₯ μννλ€. λ§μΌ μ λ¬λ μΈμκ° μ ν¨νμ§ μκ±°λ λ€λ₯Έ μ΄μ λ‘ μΈν΄ ν΄λΉ κΈ°λ₯μ μνν μ μμΌλ©΄ ν¨μλ μ€ν¨λ₯Ό λ°ννλ€. μλμ° ν¨μλ μ€ν¨νλ©΄ ν¨μ μ€ν¨ μ¬λΆλ₯Ό μμλ΄λ κ³Όμ νμνλ€. λ§μ΄ν¬λ‘μννΈλ λͺ¨λ μλ¬μ½λλ₯Ό 32λΉνΈ μ«μλ‘ μ μν΄ λμλ€. [2]νΈμμ μ€λͺ μλμ° ν¨μκ° μ€ν¨νλ©΄ λ΄λΆμ μΌλ‘ ν¨μλ₯Ό νΈμΆν μ€λ λμ μ€λ λ μ§μ μ μ₯μμ μλ¬ μ½λ μ μ₯ => μ¬λ¬ μ€λ λ λμ μννλλΌλ μνΈκ° μν₯μ λ―ΈμΉμ§ μκ³ μ€λ λλ³ μλ¬ μ½λ μ μ§ DWORD GetLastError μ΄λ€ μλ¬κ° λ°μνλμ§ νμΈνκΈ° μν΄ μ¬μ© μ΅..
-
[Windows Programming] μλμ° νλ‘κ·Έλλ° Data typesWindows Programming 2020. 1. 13. 21:51
μ΄ κΈμ "μ ν리 리μ²μ Windows via C/C++"λ₯Ό ν λλ‘ μμ±νμ΅λλ€. Windows Programming Data types LPVOID : point to a void object β μ»΄νμΌ μλ¬ μμ΄ λ€λ₯Έ μ¬λ¬κ°μ§ νμ κ°μ²΄λ₯Ό point νκΈ° μν΄ μ¬μ© β (Void*) BYTE : unsigned 8 bit WORD : unsigned 16 bit DWORD : unsigned. 32 bit QWORD : unsigned. 64 bit STR : string data LPSTR : (STR*) STRμ κ°λ¦¬ν€λ ν¬μΈν° HWND : Handle to window HINSTANCE : Handles to a program instance μλμ° ν¨μ λν λ°ν μλ£ν VOID : μ΄ ν¨μλ..