학습목표
컴파일이란?
컴파일 언어와 인터프리터 언어
언리얼엔진 블루프린트의 컴파일 과정
학습내용
고급언어를 만들어서 쓰기 시작했는데, 고급언어 같은경우는 사람이 보기편한것이고 컴퓨터는 여전히 알아듣지 못하기때문에 해당 고급언어를 컴퓨터가 알아들을 수 있게 저급언어로 번역해주는게 필요하다. 해당 고급언어를 컴퓨터가 알아들을 수 있게 번경해주는것을 컴파일 이라고 한다.고급언어 : 프로그래밍 언어 ex) C언어, 파이썬, JAVA
저급언어 : ex) 어셈블리어
컴파일언어는 우리가 명령을 내린 소스코드들을 한꺼번에 집합시킨다음 저급언어로 변환후 컴퓨터에게 전달하는 구조이다. 해당과정에서 저급언어로 변환하는 과정을 컴파일, 전체적인 과정을 빌드 라고 한다
인터프리터언어는 별도에 컴파일 과정을 거치지않고 코드를 한줄한줄읽어서 바로 실행시키는 구조이다.
1.<컴파일언어> 는 실행속도가 빠르고 디버깅이수월하다는 장점이 있는반면,
빌드라는 과정이 필요하기에 생산속도가 느리다는 단점이있다.
2.<인터프리터언어> 는 별도의 빌드,컴파일과정이 필요없기때문에 생산속도가 빠른장점이있지만,
소스코드가 실행되기전까지 소스코드에 존재하는 버그를 인지하기 어렵고,
실행속도가 느리다는 단점이 있다.
언리얼엔진의 블루프린트는 VM(가상머신) 기반으로 실행되기 때문에 한줄한줄 실행하는 방식인 인터프리터 방식으로 이루어져 있다. 때문에 c++보다 유연하지만 속도는 상대적으로 느리다는 단점이 있다.
해당 단점을 보완하기위해 언리얼에서는 자체적으로 블루프린트 네이티브화 기능을 이용해 블루프린트 노드들을 c++언어 수준으로 변환해 성능을 올리는 기술을 사용한다.
블루프린트 노드 : IDE를 열지않고도 커스텀 C++함수,변수,이벤트 등을 블루프린트상으로 노출시켜 개발자가 아닌 사람들도 접근해서 사용하기 쉽다.