GCC
<aside>
π‘
GCCλ μλ GNU C Compilerμ μ½μμμ§λ§, μ΄μ λ GNU Compiler Collectionμ μ½μ
</aside>
- GNU νλ‘μ νΈμμ κ°λ°ν, λ€μν νλ‘κ·Έλλ° μΈμ΄λ₯Ό μ§μνλ μμ μ€νμμ€ μ»΄νμΌλ¬ λͺ¨μ
- GNU μμ€ν
μ 곡μ μ»΄νμΌλ¬λ‘, GCCλ λ§μ μ»΄νμΌλ¬μ μ΄μ체μ λ₯Ό λ§λλλ° μ¬μ©λ¨
Features & Role of GCC
- GNU ν΄μ²΄μΈμ ν΅μ¬ κ΅¬μ± μμλ‘, 리λ
μ€ μ»€λ λ° λ€μν Unix κ³μ΄ OSμμ νμ€ Compilerλ‘ νμ©
- μ»΄νμΌ κ³Όμ μμ μ μ²λ¦¬, νμ±, μ΅μ ν, μ΄μ
λΈλ¦¬ λ³ν, λ§ν¬ λ± μΌλ ¨μ λ¨κ³λ₯Ό μννλ ν΄μ²΄μΈ
- λ€μμ μν€ν
μ²μ OSλ₯Ό μ§μ, μλ² λλ μμ€ν
κ³Ό GPUλ± λ€μν νλ«νΌμΌλ‘μ ν¬ν
λ νλ°
Compilation Process of GCC
<aside>
π‘
GCCλ μμ€μ½λλ₯Ό μ€ν κ°λ₯ν λ°μ΄λλ¦¬λ‘ λ³ννκΈ° μν΄ μ¬λ¬ λ¨κ²λ₯Ό κ±°μΉ¨
</aside>
Preprocessing
- μ μ²λ¦¬
- #include, #define λ± μ§μλ¬Έμ μ²λ¦¬, μ£Όμμ μ κ±°, λ§€ν¬λ‘ νμ₯μ μν
Compilation
- μ»΄νμΌ
- μ μ²λ¦¬λ μ½λλ₯Ό λ΄λΆ μ€κ° νν(IR, Intermediate Representation)μΈ GIMPLE λλ GENERIC ννλ‘ λ³ν
- μ μ²λ¦¬ β AST β IR λ‘μ λ³νμ΄ μ΄λ£¨μ΄μ§