program story

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

inputbox 2020. 8. 4. 07:20
반응형

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


나는 항상 컴파일빌드 라는 용어를 서로 바꿔서 사용 합니다.

이 용어의 의미는 무엇입니까?


컴파일 은 소스 코드를 객체 코드로 변환하는 작업입니다.

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

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

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


에서 위키 피 디아 :

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

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


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

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

그들은 종종 같은 것을 의미하는 데 사용됩니다. 그러나 "빌드"는 전체 애플리케이션 (예 : 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

반응형