컴파일 코드와 실행 코드의 차이점은 무엇입니까?


답변:


159

컴파일 은 소스 코드를 객체 코드로 바꾸는 행위입니다.

링크 는 개체 코드를 라이브러리와 결합하여 원시 실행 파일로 만드는 작업입니다.

빌드 는 설치 프로그램 생성과 같은 다른 작업과 함께 컴파일 및 링크로 구성된 시퀀스입니다.

많은 컴파일러가 소스 코드를 컴파일 한 후 자동으로 연결 단계를 처리합니다.


19

에서 위키 피 디아 :

컴퓨터 소프트웨어 분야에서 소프트웨어라는 용어는 빌드 는 소스 코드 파일을 컴퓨터에서 실행할 수있는 독립형 소프트웨어 아티팩트로 변환하는 프로세스 또는 그 결과를 의미합니다. 소프트웨어 빌드에서 가장 중요한 단계 중 하나는 소스 코드 파일이 실행 코드로 변환되는 컴파일 프로세스입니다.

단순한 프로그램의 경우 프로세스는 컴파일되는 단일 파일로 구성 되지만 복잡한 소프트웨어의 경우 소스 코드는 여러 파일로 구성 될 수 있으며 다양한 방식으로 결합되어 다양한 버전을 생성 할 수 있습니다.


9

빌드는 여러 단계로 구성된 스크립트로 볼 수 있습니다. 그 중 기본 단계는 코드를 컴파일하는 것입니다. 다른 사람은

  • 테스트 실행
  • 보고 (예 : 범위)
  • 정적 분석
  • 사전 및 사후 빌드 단계
  • 특정 파일에 대해 사용자 지정 도구 실행
  • 설치 생성
  • 레이블을 지정하고 저장소에 배포 / 복사

7

그들은 종종 같은 것을 의미하는 데 사용됩니다. 그러나 "빌드"는 전체 애플리케이션 (예 : C 및 C ++의 경우)을 컴파일하고 연결하는 전체 프로세스를 의미 할 수도 있습니다.

  • 포장
  • 자동 (단위 및 / 또는 통합) 테스트
  • 설치 프로그램 생성
  • 설치 / 배포
  • 문서 / 사이트 생성
  • 보고서 생성 (예 : 테스트 결과, 범위).

Maven 과 같은 시스템이 있는데 , 이는 여러 단계로 구성되어 다른 아티팩트를 생성하고 이전 단계의 결과와 아티팩트를 사용하는 라이프 사이클 개념으로이를 일반화합니다 .


5

내 경험상 "컴파일"은 사람이 읽을 수있는 하나 또는 여러 개의 소스 파일을 바이트 코드 (C의 객체 파일)로 변환하는 것을 의미하며 "빌드"는 컴파일, 링크 및 기타 필요한 모든 프로세스를 나타냅니다. 전체 패키지 또는 프로젝트 완료.


2

대부분의 사람들은 아마도이 용어를 같은 의미로 사용할 것입니다. 한 가지 뉘앙스를 볼 수 있습니다. 컴파일은 컴파일러 (gcc, javac 등)를 통해 일부 소스 파일을 전달하는 단계 일뿐입니다.

빌드는 소스를 확인하고, 컴파일 된 아티팩트를위한 대상 폴더를 만들고, 종속성을 확인하고, 컴파일해야 할 항목을 선택하고, 자동화 된 테스트를 실행하고, tar / zip / ditributions를 만들고, ftp로 푸시하는보다 일반적인 프로세스로 들릴 수 있습니다. 등 ...

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.