[내일배움캠프 Day23] CH2 팀 프로젝트
·
내일배움캠프/TIL
1/10 ~ 1/16 동안 진행한 텍스트 기반 RPG 게임 제작 프로젝트로 오늘 1/17에 발표를 끝으로 완료했습니다. https://teamsparta.notion.site/1-3-6275cd21563d4ddeba5d7ce71f361581 1기 3조 | NotionMade with Notion, the all-in-one connected workspace with publishing capabilities.teamsparta.notion.site관련 자료는 노션에 정리되어 있으므로 생략하겠습니다. 제가 맡은 역할은 아이템 장착 시스템 구현으로 대략적으로 무엇을 구현했냐는 아래 노션에 정리한 내용 캡쳐본으로 대신하겠습니다. 구현한 내용이 많지 않아 프로젝트를 하면서 새롭게 배운 부분은 없었습니다. 다만..
[내일배움캠프 Day18] 인라인 함수(inline function)
·
내일배움캠프/TIL
평소 getter/setter 함수는 인라인 함수로 구현했었는데 과제를 진행하는 도중 인라인 함수로 써도 괜찮을지 의문이 들어 찾아보게 되었습니다. 먼저 포르잔 C++ 바이블 책에서 인라인 함수에 대해 잘 명시가 되어있어 관련 내용을 정리했습니다. 함수 본문이 너무 짧으면, 함수를 실행하는 시간(매개변수 저장, 제어 이동, 매개변수 추출, 리턴값 저장 등)이 함수 내부의 코드를 실행하는 시간보다 오래 걸릴 수 있습니다. 프로그램의 성능을 위해서 컴파일러가 함수 호출 부분을 실제 코드로 대체해버리게 만들고 싶을 때는 함수를 인라인 함수로 선언합니다. 물론 컴파일러가 이를 무시할 수도 있으며 인라인 함수는 필요한 곳에서 사용할 수 있습니다. 암묵적 인라인 함수클래스 정의 내부에 함수를 정의하면, 해당 함수는..
[내일배움캠프 Day17] C++ 빌드 과정
·
내일배움캠프/TIL
소스 코드 작성, 전처리, 컴파일, 어셈블, 링크, 실행 순으로 수행됩니다. 먼저, 사용자가 작성한 소스코드의 #으로 시작하는 전처리기 구문을 처리합니다. 그 다음 고수준의 언어를 어셈블리 언어로 번역하는 작업을 합니다. 어셈블 단계에서는 어셈블리 파일을 오브젝트 파일로 만들고 오브젝트 파일을 합치고, 링크 단계에서 라이브러리와 연결해 주고 실행 가능한 파일을 생성해줍니다.  전처리 → 컴파일러 → 어셈블러 → 링커 컴퓨터는 0과 1로만 이루어져있기 때문에 컴퓨터가 이해할 수 있도록 만들어 주어야 합니다. 이런 과정을 빌드라고 합니다.전처리(preprocessing) : 코드의 주석을 제거, 헤더 파일을 삽입하고, 메크로를 치환하는 기능을 한다.컴파일(Compilation) : 어셈블리 코드로 변환한다...
[내일배움캠프 Day16] C++ 3주차 과제 진행
·
내일배움캠프/TIL
[5번 과제] Unreal Engine 활용 프로그램 제작 MyActor.h#pragma once#include "CoreMinimal.h"#include "GameFramework/Actor.h"#include "MyActor.generated.h"UCLASS()class STUDY1_API AMyActor : public AActor{ GENERATED_BODY() public: AMyActor();protected: virtual void BeginPlay() override;public: virtual void Tick(float DeltaTime) override; void Move(); int32 Step(); float Distance(FVector2D first, FVector2D se..