CODEDRAGON ㆍDevelopment/Software Engineering
리눅스 컴파일 과정
과정 |
설명 |
전처리 |
· Hello.c 에서 Hello.i 로 처리되는 과정입니다. · 전처리기인 cpp0 또는 cc1–E라는 명령어를 이용합니다. · 소스 파일에서 주석을 제거하고 #define, #include 등 #으로 정의 된 전처리부분을 처리한 C언어 소스파일(*.i)을 생성합니다. |
컴파일 |
· Hello.i 에서 Hello.s 로 처리되는 과정입니다. · cc1이라는 컴파일러를 이용합니다. · 소스에서 호출된 라이브러리를 참조하여 소스코드를 어셈블러 코드로 변환하는 과정입니다. |
어셈블리 |
· Hello.s 에서 Hello.o 로 처리되는 과정입니다. · as 와 collect2 라는 어셈블러를 이용하여, 어셈블러 코드가 기계어로 변환되는 과정입니다. · Hello.o 를 목적파일(Object File)이라고 하는데, 기계어지만 실행이 되지는 않습니다. |
링크 |
· Hello.o 가 Hello.out 이라는 실행파일로 처리되는 과정입니다. · id라는 링커를 이용하여 목적코드를 실행에 필요한 다른 목적 파일과 연결되어 실행될 수 있도록 처리됩니다. |
'Development > Software Engineering' 카테고리의 다른 글
메소드 vs 메서드 (method) (0) | 2019.03.22 |
---|---|
SUMMARY - 제품 소프트웨어 설치 매뉴얼, 사용자 매뉴얼 기록 항목, 제품 소프트웨어 배포용 미디어 제작하기, 사용자 매뉴얼의 기록 항목 (0) | 2019.03.15 |
SUMMARY - TMMi(Test Maturity Model integration) Model, 소프트웨어 결함의 종류와 차이, 통합 테스팅 수행 방법 비교 (0) | 2019.03.08 |
테스트 케이스 vs 테스트 체크 리스트 (0) | 2019.03.06 |
테스트 케이스(Test Case) (0) | 2019.03.06 |