2026.01.23

박민재 (Daype)·2026년 1월 23일

학습목표

  • 컴파일이란?

  • 컴파일 언어와 인터프리터 언어

  • 언리얼엔진 블루프린트의 컴파일 과정

학습내용

컴파일의 정의

  • 컴퓨터는 0과1로 이루어진 데이터들만 이해할 수 있다. 하지만 사람의 입장에서는 0과 1만을 가지고 원하는 명령을 내리기 어렵다 그래서, 컴퓨터에게 명령을 내릴 고급언어를 만들어서 쓰기 시작했는데, 고급언어 같은경우는 사람이 보기편한것이고 컴퓨터는 여전히 알아듣지 못하기때문에 해당 고급언어를 컴퓨터가 알아들을 수 있게 저급언어로 번역해주는게 필요하다. 해당 고급언어를 컴퓨터가 알아들을 수 있게 번경해주는것을 컴파일 이라고 한다.

고급언어 : 프로그래밍 언어 ex) C언어, 파이썬, JAVA
저급언어 : ex) 어셈블리어

컴파일언어와 인터프리터언어

  • 컴파일언어는 우리가 명령을 내린 소스코드들을 한꺼번에 집합시킨다음 저급언어로 변환후 컴퓨터에게 전달하는 구조이다. 해당과정에서 저급언어로 변환하는 과정을 컴파일, 전체적인 과정을 빌드 라고 한다

  • 인터프리터언어는 별도에 컴파일 과정을 거치지않고 코드를 한줄한줄읽어서 바로 실행시키는 구조이다.

1.<컴파일언어> 는 실행속도가 빠르고 디버깅이수월하다는 장점이 있는반면,
	빌드라는 과정이 필요하기에 생산속도가 느리다는 단점이있다.

2.<인터프리터언어> 는 별도의 빌드,컴파일과정이 필요없기때문에 생산속도가 빠른장점이있지만,
	소스코드가 실행되기전까지 소스코드에 존재하는 버그를 인지하기 어렵고,
    실행속도가 느리다는 단점이 있다.

언리얼엔진 블루프린트의 컴파일과정

  • 언리얼엔진의 블루프린트는 VM(가상머신) 기반으로 실행되기 때문에 한줄한줄 실행하는 방식인 인터프리터 방식으로 이루어져 있다. 때문에 c++보다 유연하지만 속도는 상대적으로 느리다는 단점이 있다.

  • 해당 단점을 보완하기위해 언리얼에서는 자체적으로 블루프린트 네이티브화 기능을 이용해 블루프린트 노드들을 c++언어 수준으로 변환해 성능을 올리는 기술을 사용한다.

블루프린트 노드 : IDE를 열지않고도 커스텀 C++함수,변수,이벤트 등을 블루프린트상으로 노출시켜 개발자가 아닌 사람들도 접근해서 사용하기 쉽다.

0개의 댓글