전체 글

게임 서버 개발자가 되기 위한 부지런한 노력들
·C++
Cache는 메인 메모리인 RAM과 CPU 사이에 위치한 고속 메모리 입니다. CPU 는 명령어와 데이터를 Cache에서 먼저 찾고 없으면 RAM에 접근합니다. CPU는 RAM보다 훨씬 접근이 빠르기에 가능한 많은 데이터를 Cache에 저장하는것이 좋습니다.  1. 연속된 메모리 공간 사용하기- 연속된 메모리 공간을 사용하면 캐시 히트 확률이 올라갑니다. 연속 메모리 공간을 사용하는 vector가 list 보다 캐시 히트 확률이 높습니다.  2. 지역성- 시간 지역성 : 최근에 접근한 데이터 반복 접근ex) for문을 사용할때 같은 메모리 참조 - 공간 지역성 : 인접한 메모리 접근 확률 높을때ex) 벡터의 연속된 메모리 공간  3. 열보단 행에 우선 접근하기- 행은 연속적 메모리 공간임으로, 캐시 히트..
·C++
스택 오버플로우란- 스택 오버플로우란 스택 메모리 영역이 초과되는 현상을 의미합니다. 스택은 OS마다 고정된 크기의 메모리가 할당됩니다. 할당된 메모리 보다 큰 메모리가 들어오면 스택영역에서 오버플로우가 발생하게 됩니다.   스택 오버플로우의 원인 1. 재귀함수가 너무 많이 호출될때- 재귀함수를 너무 많이 호출하거나, 탈출 조건을 명시하지 않으면 스택 오버플로우가 발생합니다. 2. 지역변수가 클때- int k[백만]인 지역변수가 있고 할당된 크기가 1MB면, 4MB의 메모리 공간이 필요함으로 오버플로우가 발생하게 됩니다. 3. 여러 함수를 순차적으로 실행하며 함수 호출이 깊어질때  스택 오버플로우의 증상 1. 프로그램 크래쉬 - 프로그램이 갑자기 종료됩니다. 2. Segmentation Fault - 잘..
·C++
다양한 언어에서의 인터페이스 개념은 다형성을 제공하기 위한 부모 클래스를 인터페이스라고 부릅니다. C++에서는 순수 가상 함수로만 이루어진 부모 클래스를 인터페이스라고 부르고, 이 인터페이스는 인스턴스화 즉 객체를 만들지 못합니다.
쿼카만지고싶어요
게임서버