1. GetMessage -> PeekMessage로 변경
* GetMessage
- 프로세스에서 발생한 메시지를 메시지 큐에서 가져오는 함수
- 아무 메시지도 없다면 아무 메시지도 가져오지 않음
* PeekMessage
- 메시지 큐에 메시지가 있으면 메시지를 가져오고 없으면 false를 반환
- 메시지 큐에 메시지 유무와 상관없이 함수가 리턴됨
- PeekMessage을 if문을 통해 메시지를 받았을때와 안받았을때로 나눠 else문에 게임 로직 처리 담당
2. 정적 라이브러리
*장점
- 시스템 환경이 변해도 앱에 아무런 영향이 없음
- 컴파일 시 필요한 라이브러리를 적재하기 때문에 이식성이 좋음
- 런타임 시 외부를 참조할 필요가 없기 때문에 속도가 빠름
*단점
- 같은 코드를 가진 프로그램을 실행할 경우 코드가 중복될 경우 그만큼 메모리 낭비 발생
- 라이브러리 변경 시 변경된 라이브 러리만 재배포 하는 것이 아닌 재 컴파일 후 재배포 해야함
3. 동적 라이브러리
*장점
- 메모리 절약
- 보다 쉽게 패치하여 배포 가능
- 서로 다른 프로그램에서 동일한 함수 호출가능
- 프로그램 변경 시 라이브러리만 재배포하면 되어 유지보수가 쉬움
*단점
- 외부 의존도가 높기 때문에 이식성이 낮음
- 공유 라이브러리를 메모리에 올려놓고 해당 라이브러리를 찾아 접근해야해 속도가 느림
4. 다중 프로젝트
- 하나의 프로젝트에 모든 코드를 작성하게 되면 볼륨이 커지면 커질수록 컴파일과 빌드 시간이 늘어나기 때문에 프로젝트를 나누어 그 시간을 축소 시킬 수 있음
- 시간 축소와 코드 유지보수에 대한 장점이 존재
* 게임 로직용 프로젝트 추가
- 새 프로젝트 생성 -> 빈 프로젝트 -> 구성 형식: 정적 라이브러리 로 생성
* 코드용 공유 프로젝트 추가
- 프로젝트 추가 -> 공유 항목 프로젝트 -> 이전에 만든 로직용 프로젝트에서 참조 우 클릭 -> 참조 추가 -> 공유 항목 프로젝트 추가
* 메인 프로젝트에 연결
- 메인 프로젝트에 로직용 프로젝트 연결
*테스트
- 첨부사진6처럼 cpp, h파일 추가 후
- ..과 \\을 이용해 경로 설정하여 헤더파일을 추가하면 해당 파일에 있는 클래스에 접근이 가능해짐
###############################################
- 2.5 while문 PeekMessage로 변경 및 라이브러리 설명
- 2.6 다중 프로젝트 추가 및 설정, 테스트
###############################################
'C++ > 유니티 엔진 모작(일시중지)' 카테고리의 다른 글
[유니티 엔진 제작] 키 입력을 통한 도형 움직임 (0) | 2025.02.06 |
---|---|
[유니티 엔진 제작] 도형 이동 및 코드 수정 (0) | 2025.02.06 |
[유니티 엔진 제작] DC (0) | 2025.02.04 |
[유니티 엔진 제작] 헤더와 main (0) | 2025.02.03 |
1-1강. 랜더링 파이프라인 (0) | 2025.01.30 |