JAVA - 링킹, 컴파일 ,빌드

모모는무지개·2024년 4월 29일
post-thumbnail

빌드(Build)

: 소스코드 파일을 실행가능한 소프트웨어로 만드는 과정
+) 빌드툴(Build Tool) : 빌드를 수행하는 도구
- 빌드툴 제공 기능 : 전처리(Preprocessing), 컴파일(Compile), 패키징(Packaging), 테스팅(Testing), 배포(Distribution)

ex) Ant, Maven, Gradle

  • 배포 : 서버에 반영하는 것

무수히 많은 작업을 통틀어 이야기함. 빌드를 알아서 해주는 도구 = "빌드 도구"

  • Ant : 명령이 어렵고, 느림
  • Maven: 명령보다 쉬워짐, Ant 보다 빨라짐
  • Gradle: 명령이 쉬움, 많이 빨라짐

컴파일(Compile)

: 개발자가 작성한 소스코드를 기계어(Byte Code)로 변환하는 과정

  • 컴파일 과정은 컴파일러(Compiler)에 의해 실행되는 데 기계어로 변환된 파일은 Object 파일로 만들어진다.

: 여러개로 분리된 소스파일들을 최종 실행 가능한 파일을 만들기 위해 서로 연결해주는 작업

  • 컴파일 후 Object 파일들이나 다른 파일들을 엮어주는 작업으로 소스코드와 라이브러리들을 연결시켜준다.

1) 정적 링크 : 컴파일된 Object 파일 연결
2) 동적 링크 : 프로그램 실행 중 프로그램 외부에 존재하는 코드를 찾아서 연결

런타임(RunTime)

: 컴파일 과정을 마친 프로그램이 실행 및 동작하는 과정
※ 참고사이트
https://velog.io/@dsunni/Java-JVM%EC%9D%80-%EB%AC%B4%EC%97%87%EC%9D%B4%EB%A9%B0-%EC%9E%90%EB%B0%94-%EC%BD%94%EB%93%9C%EB%8A%94-%EC%96%B4%EB%96%BB%EA%B2%8C-%EC%8B%A4%ED%96%89%ED%95%98%EB%8A%94-%EA%B2%83%EC%9D%B8%EA%B0%80

profile
안녕하세요 하하하

0개의 댓글