GEMS 1권 (3)

GEMS 2016. 1. 15. 17:02

RPC( remote procedure call) 원격 프로시저 호출


__cdecl : 호출자가 스택을 비운다. 즉 호출이 완료된 후 스택으로부터 인자들을 뽑아내는 작업을 호출자가 책임진다. 호출된 함수가 인자들의 정확한 개수를 알아야할 필요가 없다.(가변인자 함수에 필수적)

C, C++ 의 전역 함수와 정적 함수가 기본적으로 사용하는 것이 이 호출규약이다.


__stdcall : 호출된 함수가 스택을 비운다. Win32 API 호출에 쓰이는 표준 규약이다.

(클라이언트 코드 크기의 관점에서 좀더 효율적이라는 이유 때문인 것 같다.)


FPU : 부동소수점 연산을 효율적으로 사용하기위한 하드웨어 논리회로 모듈


eax, edx 레지스터도 있음


RPC를 하는 함수? 를 만드는 방법을 제시한다. (1.5장)


범용 핸들기반 자원 관리자 (1.6장)

핸들을 이용하면 메모리 주소가 한다리 건너 있는 것이기 때문에 내부적인 데이터가 변한다 해도 핸들이 무효화되는 일은 없다.( 포인터를 사용하는 것보다 안전하다)


두개의 비트필드로 이루어진 unsigned int를 사용하여 첫번째 요소는 핸들 관리자 데이터베이스로의 빠른 역참조를 위한 고유한 식별자이고(std::vector를 이용하는 것이 효율적), 두번쨰 요소는 핸들의 유효성을 검사하는데 쓰일수 있는 하나의 매직넘버. 역참조시에 핸들 관리자는 핸들의 매직넘버가 그에 해당하는 데이터베이스 항목과 일치하는지를 점검한다.


비트필드?

비트별로 데이터를 다룰 수 있도록 해주는 구조체의 문법에서 특별 용법이다.

비트 필드는 자료형을 쪼개서 비트단위로 사용할수 있게 하는 방법이다.






'GEMS' 카테고리의 다른 글

GEMS 2권 (1)  (0) 2016.01.21
GEMS 1권(4)  (0) 2016.01.20
GEMS 1권(2) STL  (0) 2016.01.15
Gems 1권 (1)  (0) 2016.01.14
GEMS 1권 1.0 데이터 주도적 설계  (0) 2016.01.12
posted by 알쿠미