소스코드 작성(main.cpp) -> 컴파일 -> (목적파일 생성, main.obj) -> 링킹 -> 실행파일(main.exe) -> 실행 및 디버깅
컴파일 : 소소코드가 문법에 맞게 작성되었는지 검사(컴파일 오류), 기계어 코드로 변환하여 목적파일 생성. 즉, 소스코드를 컴퓨터가 이해할 수 있는 기계어로 변환시켜주는 역할
링킹 : 목적 파일이 참조하는 C++ 표준 라이브러리나 다른 목적 파일 속에 있는 함수, 객체, 데이터를 포함하여 실행에 필요한 모든 기계어 코드를 확보하여, 하나의 실행 파일로 만드는 과정
파일을 실행하면 주기억장치(RAM)로 적재되어 시스템에서 동작
cf) 컴파일러, 어셈블러, 인터프리터
어셈블리어 : 기계어를 사람이 보기 쉽게 문자를 기호화하여 나타낸 언어
어셈블 : 컴파일이 끝나면 어셈블리 코드가 됨. 이 코드는 어셈블러에 의해 기계어가 된다.
컴파일러 | 어셈블러 | 인터프리터 |
- 고급 언어로 작성된 프로그램을 번역, 기계어로 된 프로그램을 만들어주는 번역기 - 목적파일 생성 - 구문 오류 검사 |
- 어셈블리어로 된 원시프로그램을 기계어로 된 목적 프로그램으로 어셈블하는 언어 번역 프로그램 | - 소스 프로그램을 한 줄씩 기계어로 해석하여 바로바로 실행하는 방식 |
반응형
'기초 컴퓨터 공학' 카테고리의 다른 글
TDD (Test-Driven Development) (0) | 2021.09.05 |
---|---|
REST, RESTful API (0) | 2021.09.05 |
통합 개발 환경(Integrated Development Environment) (0) | 2021.09.05 |
객체 지향 프로그래밍 (Object Oriented Programming) (0) | 2021.09.05 |
클린 코드(Clean Code)란? (0) | 2021.09.05 |