728x90

컴파일 4

UE5. 클래스 만들기, 컴파일, 로그

UE5C++로 생성을 하게되면 소스 파일도 같이 생성된다.클래스 만들기Tools에서 New C++ Class를 누르면 팝업창이 뜨고, Common Classes와 All Classes가 나온다.Common Classes에는 게임제작과 관련된 클래스들이 존재한다.인스턴스 클래스가 생성된 것을 확인할 수 있다.언리얼 엔진 컴파일 방법헤더 파일에 변경이 발생하면 에디터를 끄고 비주얼 스튜디오에서 컴파일한다.소스 파일에만 변경이 발생하면 라이브 코딩으로 컴파일 한다(Ctrl + Alt + F11)비주얼 스튜디오에서 수동으로 클래스를 추가하면 안된다.언리얼 엔진이 제공하는 부모 클래스를 상속 받아서 가상 함수를 오버라이드 해서 재구현 하는 경우 대부분 언리얼 엔진이 작업해 놓은 코드를 실행해 주어야 한다.로그언리..

UE5 2024.09.30

컴파일/트랜스파일/인터프리터

컴파일/트랜스파일/인터프리터컴파일(Compile)한 언어로 작성된 소스 코드를 다른 언어로 변환하는 것이 컴파일이다.C언어를 기계어로 옮기는 것, Java를 Bytecode로 옮기는 것 모두 이 정의에 따르면 Compile에 해당한다. 심지어 TypeScript를 JavaScript로 옮기는 것 역시 이 범주안에 속한다고 할 수 있기도 하다. (엄밀히 말하면 트랜스파일링이다.)고수준의 언어를 바이트 단위의 기계어로 변환해야 컴파일이라고 말하는 것이 아니다. 컴파일은 한 언어로 작성된 코드를 다른 언어로 옮기는 일 자체를 통칭한다고 보면 된다.트랜스파일(Transpile)한 언어로 작성된 소스 코드를 비슷한 수준의 추상화를 가진 다른 언어로 변환하는 것이 트랜스파일이다.Transpile은 Compile의 ..

Computer/CS 2024.08.16

컴파일 과정

컴파일 과정1. 전처리 과정헤더 파일 삽입#include 구문을 만나면 헤더파일을 찾아 그 내용을 순차적으로 삽입한다.매크로 치환 및 적용한다.2. 컴파일 과정(전단부 - 중단부 - 후반부)전단부언어 종속적인 부분 처리 - 어휘, 구문, 의미 분석중단부SSA 기반으로 최적화 수행 - 프로그램 수행 속도 향상으로 성능 높이기 위함후단부RTS로 아키텍처 최적화 수행 - 더 효율적인 명령어로 대체해서 성능 높이기 위함3. 어셈블 과정컴파일이 끝나면 어셈블리 코드가 된다. 이 코드는 어셈블러에 의해 기계어가 된다.어셈블러로 생성되는 파일은 명령어와 데이터가 들어있는 ELF 바이너리 포맷 구조를 가진다(링커가 여러 바이너리 파일을 하나의 실행 파일로 효과적으로 묶기 위해 명령어와 데이터 범위 를 일정한 규칙을 갖..

Computer/CS 2024.06.21

24.06.21 알고리즘, C

24.06.21 알고리즘, C알고리즘삽입 정렬(Insertion Sort)손 안의 카드를 정렬하는 방법과 유사하다.Selection Sort와 유사하지만, 좀 더 효율적인 정렬 알고리즘이다.2번째 원소부터 시작하여 그 앞(왼쪽)의 원소들과 비교하여 삽입할 위치를 지정한 후, 원소를 뒤로 옮기고 지정된 자리에 자료를 삽입하여 정렬하는 알고리즘이다.최선의 경우 O(N)이라는 엄청나게 빠른 효율성을 가지고 있어, 다른 정렬 알고리즘의 일부로 사용될 만큼 좋은 정렬 알고리즘이다.과정정렬은 2번째 위치(index)의 값을 temp에 저장한다.temp와 이전에 있는 원소들과 비교하며 삽입해나간다.‘1’번으로 돌아가 다음 위치(index)의 값을 temp에 저장하고, 반복한다.시간복잡도평균, 최악의 경우 O(n^2)..

728x90