컴파일은 소스 코드를 기계어로 변환하는 과정을 의미하며, 개발자가 작성한 코드를 실행 가능한 형태로 변환한다.
반면에 빌드는 컴파일을 포함하여 소스 코드와 리소스를 결합하고 추가적인 작업을 수행하여 실행 가능한 소프트웨어를 생성한다. 빌드는 소프트웨어 개발의 여러 단계와 작업을 자동화하고 통합하는 프로세스다.
컴파일(Compile):
- 컴파일은 소스 코드를 기계어 또는 실행 가능한 코드로 변환하는 과정이다.
- 컴파일러는 소스 코드를 읽고 문법적인 오류를 검사한 뒤, 기계어에 가까운 중간 형식으로 번역한다.
- 컴파일은 주로 고급 프로그래밍 언어(예: Java, C, C++)로 작성된 소스 코드를 해당 플랫폼에서 실행 가능한 기계어로 변환하는 과정을 의미한다.
- 컴파일은 개발자가 코드를 작성하고 수정한 뒤에 필요한 단계다. 컴파일러는 소스 코드를 컴파일하여 실행 파일, 라이브러리 파일 또는 중간 형식의 파일을 생성한다.
빌드(Build):
- 빌드는 소스 코드, 리소스 파일, 의존성 등을 하나로 결합하여 실행 가능한 소프트웨어 패키지를 생성하는 과정이다.
- 빌드는 컴파일 이후에 추가적인 단계를 포함할 수 있다. 이 단계에는 코드의 패키징, 테스트, 문서화, 배포 등이 포함될 수 있다.
- 빌드는 일련의 작업을 자동화하고 반복 가능하도록 만들기 위한 프로세스다. 빌드 도구(예: Maven, Gradle)는 빌드 프로세스를 관리하고 실행 가능한 소프트웨어를 생성한다.
- 일반적으로 빌드 툴이 제공해주는 기능으로는 다음과 같은 기능들이 있다. 전처리(preprocessing), 컴파일(Compile), 패키징(packaging), 테스팅(testing), 배포(distribution) 빌드 툴로는 Ant, Maven, Gradle 등이 있다.
- 빌드는 개발자 또는 CI/CD 파이프라인에서 정의된 규칙에 따라 수행된다. 소스 코드, 리소스, 테스트 등을 조합하여 최종적으로 실행 가능한 소프트웨어를 생성한다.
'TIL(Today I Learned)' 카테고리의 다른 글
[20230719 TIL] URI란 (0) | 2023.07.19 |
---|---|
[20230718] Spring과 Spring boot 차이 (0) | 2023.07.18 |
[20230707 TIL] 익명클래스 (0) | 2023.07.07 |
[20230705 TIL] Generic 이란 (0) | 2023.07.05 |
[20230627 TIL] 미들웨어와 데이터베이스 차이점 (0) | 2023.06.27 |