빌드
[Unity] 모바일 빌드 방법 (IL2CPP, MONO)
IL2CPP 어셈블리 언어인 IL (Intermediate Language - 스택 기반 어셈블리 언어)를 C++ 소스 코드로 변환 C#이나 Unity 컴파일러가 작성한 IL를 C++ 코드로 바꿔서 apk나 exe 파일을 만들기 전에 C++로 어셈블리를 추가 할 수 있게 해주는 방법 (그래서 C코드로 변활할 수 있게 도와주는 NDK가 필요하다) 장단점 장점) 코드 크기를 줄일 수 있다. (사용하지 않는 유니티 모듈을 제거 할 수 있다) IOS 64 bit 빌드를 지원한다. 단점) 버그가 mono에 비해 많이 생긴다. 주로 리플렉션을 사용하는 JSON 라이브러리 빌드 시간이 mono보다 느리다 디버깅이 어렵다 Mono 빌드 SDK, JDK 필요 보통 많이 쓰는 방법 (빌드 속도가 빠름) 방법 유니티 Fil..
C++ 빌드 진행 과정
C++에서 작성한 소스코드를 실행 가능한 실행 파일로 변환하기 위해서는, 일련의 4단계를 따른다. 먼저 #include / #define 같은 전처리기 매크로들을 처리하는 전처리( Preprocessing ) 단계 각각의 소스 파일을 어셈블리 명령어로 변환하는 컴파일( Compile ) 단계 어셈블리 코드들을 실제 기계어로 이루어진 목적 코드( Object File ) 로 변환하는 어셈블( Assemble ) 단계 마지막으로 각각의 목적 코드들을 한데 모아서 하나의 실행 파일로 만들어주는 링킹( Linking )단계로 나누어 진다. 대부분 전처리 단계 - 컴파일 단계 - 어셈블 단계를 모두 합쳐 컴파일 단계 하나로 생각해도 무방하다. 즉, 많은 경우 어셈블 명령어 같은 파일을 생성하지 않고 바로 목적 코..
프로그래밍 언어와 빌드 과정 [Build Process]
⦁ Build 란? 컴퓨터는 근본적으로는 0과 1밖에 모른다. 우리가 작성하는 코드들은 거의 대부분 고급언어를 사용하기 때문에 결국에는 컴퓨터(CPU)가 이해할 수 있도록 번역을 해주어야한다. (C, Java, C++ 등 어셈블리를 제외한 대부분 언어가 고급언어다.) 컴퓨터가 이해하는 언어를 기계어라고 하는데, 우리가 만든 소스 코드가 컴퓨터 입장에서는 해외판 책이 되는 것이고, 이 책을 기계어(machine code)로 번역하여 컴퓨터에서 이해할 수 있는, 즉 실행 가능한 파일로 만드는 과정을 빌드(Build) 라고 한다. ⦁ Build Process 1. Compile Type 이렇게 한 번에 번역하는 언어들을 보통 Compile Language 라고 하는데, 대표적으로 C, C++, Go 언어가 있..
[Unreal] 언리얼 빌드 시스템 + Target.cs
Unreal Build System (언리얼 빌드 시스템)은 언리얼 엔진 4 (UE4) 빌드 프로세스를 자동화시키는 툴 모음이다. 일반적인 수준에서 UnrealBuildTool 과 UnrealHeaderTool 은 언리얼 빌드 시스템을 지원한다. UnrealBuildTool UnrealBuildTool (UBT)는 다양한 빌드 구성으로 UE4 소스 코드를 빌드하는 프로세스를 관리해 주는 커스텀 툴이다. BuildConfiguration.cs 파일에서 다양한 사용자 환경설정 가능 빌드 옵션을 살펴볼 수 있다. UnrealHeaderTool UnrealHeaderTool (UHT) 는 UObject 시스템을 지원하는 커스텀 파싱 및 코드 생성 툴이다. 코드 컴파일은 두 단계로 이루어진다: UHT 를 실행한다..