운영체체
- ios(mac)
- 안드로이드
- windows(환경에서 실행이 가능한 게임을 만들것)
플랫폼
- 컴퓨터 과학에서 프로그램의 실행되는 발판
- 큰의미의 플랫폼
- ios
- 안드로이드
- windows
- 좁은의미 플랫폼 플스, 닌텐도 스위치, 스팀
- 플레이스테이션, 닌텐도 스위치도 플랫폼이다.
x64(64비트), x86(32비트) 차이

- 32비트 운영체제시절에는 4바이트의미 데이터를 주고받을떄 4바이트 초과한 데이터를 보내지 못함.
- 64(8바이트)비트로 업그레이드되면서 전달단위 최대 단위가 8바이트로 바뀜.
- 폰으로 개발을하면서 양쪽에다 출시할려면
- exe파일을 두개만들어야됨.
- ios(애플)오브젝티브 c로 개발 ,
- 안드로이드(구글)따로 안드로이드 스튜디오로 개발
- 유니티엔진이 많이해결.
- win(pc)에서 c++로 유니티엔진으로 빌드하면 4가지 버전을 빌드가능하게해줌.(컴(원도우,맥)폰(ios,안드))
참고: 원도우 운영체제 개발도구는 마소가 지원해준다(비주얼 스튜디오)
솔루션

- 프로젝트들을 묶는 단위
- 외부 종속절뺴고는 삭제해도됨.


Main 함수
int main(void)
{
return 0;
{
C 언어 -> C++
- C++는 C언어에서 개체지향과 여러가지들이 추가된 언어다.
- C와 C++는 다른 고급언어들과 다르게 가비지 컬렉터가 존재하지않는다.
- 요즘 게임들은 PC성능을 믿고 최적화를 잘안한다.(이러면 안된다.)
- 게임은 생산성(자바 등등)이 중요한게 아니라 게임 프로그래머의 입장에서는 디테일하게 제어가능한 C++ 선호한다.
자료형 (Data Type)
- 데이터 크기의 단위는 1 Byte = 8 bit
- 정수 타입 - char(1) short(2), wchar_t(2), int(4), long(4), long long(8), __int64(8)
- 실수 타입 - float(4), double(8)
1바이트 == 8비트
- 1비트
- 1비트는 두가지의 상태를 가진다(on, off)
- 비트의 수가 증가할수록 2배씩 표현할수 있는 경우의 수 증가.
- 8비트는 그러면 2^8승 갯수 = 256가지 표현 가능.
char 자료형
char number = 0;
- char : 자료형
- number : 변수 이름, 변수
- = : 대입연산자
signed char
char number = 0;
- char : -128 ~ 0 ~ 127
- 음의 정수를 포함한 표현가능한 범위
unsigned char
unsigned char unsigned_number = 0;
- unsigned char : 0 ~ 255
- 양의 정수(0포함) 포함한 표현가능한 범위.
참고 : 16진수의 10 == 16(10), 8진수의 10 == 8(10) , 2진수의 10 == 2(10)
signed 와 unsigned 차이
- signed의 경우
- 1바이트는 최상위비트를 1과 0인 경우가 128 + 128(가짓수)
- 최상위 비트가 0이면 양수로 판단
- 최상위 비트가 1이면 음수로 판단
- unsigned의 경우
signed char , unsigned char 1을 더한 경우
char number = 127;
number = number + 1;
unsigned char unsigned_number = 127;
unsigned_number = unsigned_number + 1;
- 비트의 실제 메모리 상태는 똑같지만 다르게 표현된다.
- 둘다 1더하기 전 비트 상태는 0111 111
- 1 더한후 비트 상태는 1000 0000

중요 : 데이터의 다름이 문제가 아니라 , 같은 데이터도 값을 어떻게 분석, 해석 하느냐에 따라서 달라질 수 있다.
음수 버전의 1
- 1111 1111 이다.
- 이유: 0000 0001 과 더하면 1이 오버플로우되서 8비트가 0이 되기 떄문이다.
- 음수 찾는법
- ex) -2 음수 찾는법
- 0000 0010 - 2(10)을 부호 반전시킨다
- 1111 1101에 1을 더한다
- 1111 1110 이 -2(10)의 비트 수다.
음의 정수 찾기(2의 보수법)
- 대응되는 양수의 비트를 반전시킨다.
- 반전시킨 비트에 1을 더한다.
unsigned_number = -1;
unsigned_number = -1;
- 255로 출력되는 이유는 : 데이터의 다름이 문제가 아니라 , 같은 데이터도 값을 어떻게 분석, 해석 하느냐에 따라서 달라질 수 있다.
signed는 기본적으로 생략됨.
- signed char == char
- signed short == short
- singed int == int
short자료형
short shortNum = 0;
- 크기 2바이트(16비트)
- 정수타입(singend) 변수 선언
- 표현 가능한 가짓수 == 2^16 == 65,536
- 표현 범위: -32768 ~ 0 ~ 32767
unsigned short unsigned_short = 0;
- 크기 2바이트(16비트)
- 정수타입(unsingend) 변수 선언
- 표현 가능한 가짓수 == 2^16 = 65,636
- 표현 범위 : 0 ~ 65536
int자료형
int intNum = 0;
- 크기 4바이트(32 비트),
- 정수 타입
- 표현 가능한 가짓수 == 2^32 == 4,294,967,296(43억)
- 2,147,483,648 ~ 0 ~ 2,147,483,647(-21~21억)
unsigned int unsigned_int = 0;
- 크기 4바이트(32 비트),
- 정수 타입
- 표현 가능한 가짓수 == 2^32 == 4,294,967,296
- 표현 범위 : 0 ~ 4,294,967,295(0 ~ 43억)
형변환
char data = 44;
int iData = 56;
char i = data + iData;
- 컴퓨터가 계산할떄 다른 자료형끼리 계산을 할때는 프로그래머가 지정한 자료형으로 계산을 하거나 암묵적으로 형변환을 하여 계산한다.
- int i = data + iData;
- char자료형 변수인 data변수를 int자료형으로 변환해서 계산
- char i = data + iData;
- int자료형 변수인 iData를 char자료형으로 변환해서 계산.
강의 코드
int main(void)
{
char number = 127;
number = number + 1;
unsigned char unsigned_number = 127;
unsigned_number = unsigned_number + 1;
unsigned_number = -1;
short shortNum = 0;
unsigned short unsigned_short = 0;
{
char data = 44;
int iData = 56;
int i = data + iData;
}
return 0;
}
1차 23.11.28
2차 23.11.29
3차 23.11.30
4차 23.12.01
5차 23.12.05
6차 23.12.11
7차 23.12.17
8차 23.12.24
9차 24.01.01
10차 24.01.22