기반 포인터 (C)Based Pointers (C)

Microsoft 전용Microsoft Specific

__based(C++ 참조)__based (C++ Reference)

Microsoft 32비트 및 64비트 C 컴파일러 기반 포인터는 32비트 또는 64비트 포인터 기반에서 오프셋된 32비트 또는 64비트입니다.For the Microsoft 32-bit and 64-bit C compilers, a based pointer is a 32-bit or 64-bit offset from a 32-bit or 64-bit pointer base. 기반 주소 지정은 개체가 할당된 섹션에서 제어를 실행하여 실행 파일의 크기를 줄이고 실행 속도를 높이는 데 유용합니다.Based addressing is useful for exercising control over sections where objects are allocated, thereby decreasing the size of the executable file and increasing execution speed. 일반적으로 다음 형식으로 기반 포인터를 지정합니다.In general, the form for specifying a based pointer is


type  
__based(  
base  
)  
declarator  

기반 주소 지정의 "포인터 기반" 변형으로 포인터를 기준으로 지정할 수 있습니다.The "based on pointer" variant of based addressing enables specification of a pointer as a base. 그러면 기반 포인터가 기반이 되는 포인터 시작 부분부터 메모리 섹션에 오프셋됩니다.The based pointer, then, is an offset into the memory section starting at the beginning of the pointer on which it is based. 포인터 주소 기반의 포인터는 32비트 및 64비트 컴파일에서만 유효한 __based 키워드 형식입니다.Pointers based on pointer addresses are the only form of the __based keyword valid in 32-bit and 64-bit compilations. 이러한 컴파일에서 이 항목은 32비트 또는 64비트 기반에서 32비트 또는 64비트로 치환됩니다.In such compilations, they are 32-bit or 64-bit displacements from a 32-bit or 64-bit base.

포인터 기반의 포인터는 포인터가 포함된 영구 식별자에 사용됩니다.One use for pointers based on pointers is for persistent identifiers that contain pointers. 포인터 기반의 포인터로 구성된 연결 목록은 디스크에 저장한 다음, 유효한 포인터를 이용하여 메모리의 다른 장소로 다시 로드할 수 있습니다.A linked list that consists of pointers based on a pointer can be saved to disk, then reloaded to another place in memory, with the pointers remaining valid.

다음 예제에서는 포인터 기반 포인터를 보여 줍니다.The following example shows a pointer based on a pointer.

void *vpBuffer;  

struct llist_t  
{  
    void __based( vpBuffer ) *vpData;  
    struct llist_t __based( vpBuffer ) *llNext;  
};  

vpBuffer 포인터는 나중에 프로그램에 할당된 메모리 주소로 할당됩니다.The pointer vpBuffer is assigned the address of memory allocated at some later point in the program. 연결 목록은 vpBuffer 값을 기준으로 재배치됩니다.The linked list is relocated relative to the value of vpBuffer.

Microsoft 전용 종료END Microsoft Specific

참고 항목See Also

선언자 및 변수 선언Declarators and Variable Declarations