컴파일 κ³Όμ •

2022. 8. 13. 19:06Β·πŸ“ Language/✏ Language

컴파일 κ³Όμ •

1. C++

 

C++ 컴파일 κ³Όμ •

 

  1. μ „μ²˜λ¦¬κΈ°: μ†ŒμŠ€ νŒŒμΌμ„ μ²˜λ¦¬ν•˜λŠ” 컴파일러의 ν•œ λΆ€λΆ„μœΌλ‘œ μˆ˜μ •λœ μ†ŒμŠ€ νŒŒμΌμ„ μƒμ‚°ν•˜κ³  μˆ˜μ •λœ μ†ŒμŠ€ νŒŒμΌμ€ λ‹€μŒ λ‹¨κ³„μ˜ μ»΄νŒŒμΌλŸ¬μ— μ˜ν•΄ 본격적으둜 μ»΄νŒŒμΌλœλ‹€.
    • #define, #include μ§€μ‹œμž 해석
    • #ifdef, #endif 쑰건뢀 컴파일
  2. 컴파일러: ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λ‘œ 쓰인 ν”„λ‘œκ·Έλž¨μ„ μ–΄μ…ˆλΈ”λ¦¬μ–΄λ‘œ λ²ˆμ—­ν•œλ‹€.
  3. μ–΄μ…ˆλΈ”λŸ¬: μ–΄μ…ˆλΈ”λ¦¬ νŒŒμΌμ„ κΈ°κ³„μ–΄λ‘œ λ³€ν™˜ν•œ 였브젝트 파일둜 λ§Œλ“ λ‹€.
  4. 링컀: 였브젝트 νŒŒμΌλ“€μ„ λΌμ΄λΈŒλŸ¬λ¦¬μ™€ μ—°κ²°ν•˜μ—¬ μ‹€ν–‰ ν”„λ‘œκ·Έλž¨μ„ λ§Œλ“ λ‹€.

 

2. JAVA

 

JAVA 컴파일 κ³Όμ •

 

  1. μžλ°” μ†ŒμŠ€ 파일(.java)을 μž‘μ„±ν•œ ν›„ μžλ°” μ»΄νŒŒμΌλŸ¬κ°€ javac λͺ…λ Ήμ–΄λ‘œ μ»΄νŒŒμΌν•œλ‹€. 
    • μžλ°” μ†ŒμŠ€ νŒŒμΌμ€ scr(source) 폴더에 μ €μž₯λ˜μ–΄ μžˆλ‹€.
  2. μ»΄νŒŒμΌμ— μ„±κ³΅ν•˜λ©΄ λ°”μ΄νŠΈ μ½”λ“œ 파일(.class)이 μƒμ„±λœλ‹€.
    • λ°”μ΄νŠΈ μ½”λ“œ νŒŒμΌμ€ 아직 컴퓨터가 읽을 수 μ—†λŠ” μžλ°” 가상 머신이 이해할 수 μžˆλŠ” μ½”λ“œμ΄λ‹€. 즉 μ•„직 μ™„μ „ν•œ 기계어가 μ•„λ‹ˆλ―€λ‘œ java λͺ…λ Ήμ–΄λ₯Ό 톡해 μ™„μ „ν•œ κΈ°κ³„μ–΄λ‘œ λ²ˆμ—­ν•˜μ—¬ μ‹€ν–‰ν•΄μ•Ό ν•œλ‹€.
    • μžλ°” ν”„λ‘œκ·Έλž¨μ€ λ°”μ΄νŠΈ μ½”λ“œ 파일둜 κ΅¬μ„±λ˜μ–΄ μžˆλ‹€.
    • λ°”μ΄νŠΈ μ½”λ“œ νŒŒμΌμ€ bin(binary) 폴더에 μ €μž₯λ˜μ–΄ μžˆλ‹€.
  3. λ°”μ΄νŠΈ μ½”λ“œλ₯Ό JVM의 클래슀 λ‘œλ”(Class Loader)μ—κ²Œ μ „λ‹¬ν•œλ‹€.
    • λ°”μ΄νŠΈ μ½”λ“œ νŒŒμΌμ€ μš΄μ˜μ²΄μ œμ—μ„œ λ°”λ‘œ μ‹€ν–‰ν•  수 μ—†κ³  JVM(μžλ°” 가상 기계)λ₯Ό 톡해 λ²ˆμ—­ν•œλ‹€. JVM을 μ‚¬μš©ν•˜λŠ” μ΄μœ λŠ” λ‹€μ–‘ν•œ μš΄μ˜μ²΄μ œμ—μ„œ μˆ˜μ •ν•˜μ§€ μ•Šκ³  μ‚¬μš©ν•  수 μžˆλ„λ‘ ν•˜κΈ° μœ„ν•¨μ΄λ‹€.
μ €μž‘μžν‘œμ‹œ (μƒˆμ°½μ—΄λ¦Ό)
'πŸ“ Language/✏ Language' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄ 정리
  • λ©”λͺ¨λ¦¬ λˆ„μˆ˜(Memory Leak)의 κ°œλ…κ³Ό ν•΄κ²° 방법
  • 인터프리터(Interpreter)와 컴파일러(Compiler)
  • ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°(Functional Programming)
Blxxming
Blxxming
CS 지식과 κ³΅λΆ€ν•˜λ‹€ 배운 것, κ²½ν—˜ν•œ 것 등을 κΈ°λ‘ν•˜λŠ” λΈ”λ‘œκ·Έμž…λ‹ˆλ‹€.
  • Blxxming
    πŸ’‘λ²ˆλœ©πŸ’‘
    Blxxming
  • 전체
    였늘
    μ–΄μ œ
  • 곡지사항

    • Tech Interview
    • πŸ“š Tech (246)
      • πŸ“ Computer Science (96)
        • ✏ OS (12)
        • ✏ Network & Web (10)
        • ✏ Database (11)
        • ✏ Data Structure (6)
        • ✏ Algorithm (40)
        • ✏ Design Pattern (9)
        • ✏ Cloud Computing (3)
        • ✏ (5)
      • πŸ“ Language (73)
        • ✏ Language (6)
        • ✏ C & C++ (11)
        • ✏ C# (19)
        • ✏ JAVA (37)
      • πŸ“ Game (43)
        • ✏ Computer Graphics (2)
        • ✏ Unity (14)
        • ✏ Unreal (26)
        • ✏ (1)
      • πŸ“ Book (34)
        • ✏ Effective (3)
        • ✏ Game Server (16)
        • ✏ Clean Code (14)
        • ✏ (1)
  • hELLOΒ· Designed Byμ •μƒμš°.v4.10.0
Blxxming
컴파일 κ³Όμ •
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”