섹션 0.OT
서버 OT, 환경설정 이론만 정리
서버
다른 컴퓨터에서 연결이 가능하도록 대기 상태로 상시 실행 중인 프로그램
서버의 종류
웹 서버(http)
- request, response의 반복
- 실시간 interaction X
- 일반적으로 서버가 먼저 접근 X
- Stateless
- 처음부터 만들지 않고 프레임워크 사용
게임 서버(TCP, Binary, Stateful)
- 요청, 갱신 횟수가 많음
- 실시간 interaction
- 언제든 서버가 먼저 접근
- Stateful
※ 게임 서버는 게임이나 장르에 따라 요구사항이 매우 다름
따라서 최적의 프레임워크가 존재하지 않음
정적 라이브러리 vs 동적 라이브러리
C++ 빌드 과정
소스코드
-전처리기, 컴파일러->어셈블리 코드
-어셈블러->오브젝트 파일
-다른 오브젝트 파일, 라이브러리 등과 함께 링킹->실행파일
정적 라이브러리 (Static Library, Lib)
- 링커에 의해 오브젝트 파일들과 함께 링킹되는 라이브러리
- 실행할 때 라이브러리의 내용을 모두 메모리에 적재
- 실행파일을 한 번 만들고 나면 라이브러리를 따로 관리할 필요 없음
동적 라이브러리 (Dynamic Library, DLL)
- 프로그램에서 사용하는 라이브러리를 복사하지 않고 주소만 가지고 있다가 런타임 시 필요한 모듈의 주소로 가서 라이브러리 정보를 가져오는 방식
- 이미 해당 라이브러리가 메모리에 존재하는 경우 비용을 아낄 수 있음
- 메모리에 접근해야 하므로 오버헤드가 존재하여 수행시간은 Lib에 비해 느림
- 바이너리에 라이브러리가 포함되는 것이 아니기 때문에, 실행파일과 DLL을 별개로 관리해야 함