컴파일 코드와 실행 코드의 차이점은 무엇입니까?
나는 항상 컴파일 과 빌드 라는 용어를 서로 바꿔서 사용 합니다.
이 용어의 의미는 무엇입니까?
컴파일 은 소스 코드를 객체 코드로 변환하는 작업입니다.
링크 는 객체 코드와 라이브러리를 원시 실행 파일로 결합하는 작업입니다.
빌드 는 설치 및 생성과 같은 다른 작업과 함께 컴파일 및 링크로 구성된 시퀀스입니다.
많은 컴파일러가 소스 코드를 컴파일 한 후 링크 단계를 자동으로 처리합니다.
에서 위키 피 디아 :
컴퓨터 소프트웨어 분야에서 소프트웨어 빌드 라는 용어 는 소스 코드 파일을 컴퓨터에서 실행할 수있는 독립형 소프트웨어 아티팩트로 변환하는 프로세스 또는 그 결과를 말합니다. 소프트웨어 빌드의 가장 중요한 단계 중 하나는 소스 코드 파일이 실행 가능한 코드로 변환되는 컴파일 프로세스입니다.
간단한 프로그램의 경우 프로세스는 컴파일되는 단일 파일로 구성 되지만 복잡한 소프트웨어의 경우 소스 코드는 많은 파일로 구성 될 수 있으며 여러 가지 방식으로 결합되어 여러 가지 버전을 생성 할 수 있습니다.
빌드는 여러 단계로 구성된 스크립트로 볼 수 있습니다. 기본 단계는 코드를 컴파일하는 것입니다. 다른 사람은
- 테스트 실행
- 보고 (예 : 적용 범위)
- 정적 분석
- 사전 및 사후 빌드 단계
- 특정 파일에 대한 사용자 정의 도구 실행
- 설치 만들기
- 레이블을 지정하고이를 저장소에 배치 / 복사
그들은 종종 같은 것을 의미하는 데 사용됩니다. 그러나 "빌드"는 전체 애플리케이션 (예 : C 및 C ++의 경우) 또는 그 이상을 포함하여 전체 애플리케이션을 컴파일하고 링크하는 전체 프로세스를 의미 할 수도 있습니다.
- 포장
- 자동 (단위 및 / 또는 통합) 테스트
- 설치 프로그램 생성
- 설치 / 배포
- 문서 / 사이트 생성
- 보고서 생성 (예 : 테스트 결과, 적용 범위).
Maven 과 같은 시스템 이 여러 단계로 구성되어 다른 단계의 결과를 생성 할 수 있으며 이전 단계의 결과 및 결과를 사용하여 수명주기 개념으로이를 일반화합니다 .
내 경험상 "컴파일"은 하나 또는 여러 개의 사람이 읽을 수있는 소스 파일을 바이트 코드 (C의 객체 파일)로 변환하는 것을 말하고 "빌드"는 컴파일, 링크 및 기타 필요한 모든 프로세스를 나타냅니다. 전체 패키지 또는 프로젝트 완료.
대부분의 사람들은 아마도 그 용어들을 서로 바꿔서 사용할 것입니다. 하나의 뉘앙스를 볼 수 있습니다 : 컴파일은 컴파일러 (gcc, javac 등)를 통해 일부 소스 파일을 전달하는 단계 일뿐입니다.
빌드는 소스를 체크 아웃하고 컴파일 된 아티팩트에 대한 대상 폴더를 작성하고 종속성을 점검하고 컴파일해야 할 항목을 선택하고 자동화 된 테스트를 실행하고 tar / zip / 분배를 작성하고 ftp로 푸시하는보다 일반적인 프로세스로 들릴 수 있습니다. 등
참고 URL : https://stackoverflow.com/questions/2310261/what-is-the-difference-between-compile-code-and- executable-code
'program story' 카테고리의 다른 글
XML, HTML 및 XHTML 문서에 유효한 컨텐츠 유형 (0) | 2020.08.04 |
---|---|
Django : 양식을 사용하여 하나의 템플릿에 여러 모델 (0) | 2020.08.04 |
모범 사례-자신의 프로젝트 / 앱에 대한 NSError 도메인 및 코드 (0) | 2020.08.04 |
삼항 연산자가 Java의 "if"조건보다 빠릅니까? (0) | 2020.08.04 |
git-로컬이 삭제되었지만 파일이 원격에 존재할 때 병합 충돌 (0) | 2020.08.04 |