발전하는 춘배
[원고, SDL3] 3. 윈도우 오목 게임 만들기 - 클래스 파일 분할, 분할컴파일 본문
그냥 파일 하나에 모든 클래스랑 코드랑 때려넣으니깐
복잡해져서(당연)
불편하니깐(당연)
클래스별로 파일을 분리했다(당연).

일단 omok.cpp는 의미없는건데 삭제 안 하고 캡처해버림.
일단 include랑 src로 나눈 이유:
gpt가 그러래요.
큰 프로젝트를 관리하기 쉽게 하기 위한 규칙이에요. - 라고 함.
일단 하란대로 하긴 했는데 궁금했던거
1. cpp랑 h파일을 끼리끼리 모아두는 이유
-> 그냥 역할별로 나눈 듯. 헤더파일은 선언 모아둔 거고 cpp 소스코드는 실제 구현부분이니깐.
-> 컴파일은 cpp파일을 하는거임. 헤더파일은 직접 컴파일 대상은 아니고 다른파일에서 #include "Game.h"처럼 갖다씀
2. 그럼 얘네 컴파일 어케하지
g++ src/*.cpp -Iinclude -o main.exe
src 폴더 내의 모든 cpp파일을 컴파일하고 main.exe 실행파일 만들어라.
-Iinclude: 헤더파일을 include폴더에서도 탐색해라.
3. main.cpp가 메인인 걸 알고 컴파일하고 링킹하는건가? 그럴 리는 없는디
-> 일단 컴파일단계에서는 엔트리포인트 신경안쓰고 싹다 컴파일해서 오브젝트 파일로 만들어짐
-> 링크단계에서 링커가 엔트리포인트를 찾음. 엔트리포인트가 바로 int main()함
==> 그래서 int main()은 하나만 존재해야함!
궁금증들이 해결됐다.
다 배웠던건데 까먹었다가 다시 보니깐 이제서야 기억이 하나둘하나둘 난다.
클래스 나누다보니깐
아쉬운 점들이 한두개가 아닌데
일단 Stone 클래스 만들면 기보 만들기가 편할 것 같단 생각이 들었고
전반적으로 보면 캡슐화 하나도 안 되어있다. 근데 뭐 OOP 공부하려고 한 게 아니라 SDL 써먹어보는 게 목표니깐 찝찝해도 과감하게 덮고 넘어가자. 난 시간 빌게이츠가 아니다. 선택과 집중..
사실 파일 분할도 안할까 하다가 이건 도저히 못참겠어서 한 거긴 함.
'.원고' 카테고리의 다른 글
| [원고, SDL3] 5. 윈도우 오목 게임 만들기 - 버그해결 (3) | 2025.08.25 |
|---|---|
| [원고, SDL3] 4. 윈도우 오목 게임 만들기 - SDL써서 그래픽 띄우기, 클릭이벤트 써먹기 (1) | 2025.08.24 |
| [원고, SDL3] 2. 윈도우 오목게임 만들기 기록 1 (0) | 2025.08.24 |
| [원고, SDL3] 1. C++로 게임 개발 기록 1 (0) | 2025.08.23 |
| 회고1 / 피로그래밍22기 1차 팀과제 (0) | 2025.01.01 |
