기반 포인터 (C)
Microsoft 전용
Microsoft 32비트 및 64비트 C 컴파일러 기반 포인터는 32비트 또는 64비트 포인터 기반에서 오프셋된 32비트 또는 64비트입니다. 기반 주소 지정은 개체가 할당된 섹션에서 제어를 실행하여 실행 파일의 크기를 줄이고 실행 속도를 높이는 데 유용합니다. 일반적으로 다음 형식으로 기반 포인터를 지정합니다.
type__based(base)declarator
기반 주소 지정의 "포인터 기반" 변형으로 포인터를 기준으로 지정할 수 있습니다. 그러면 기반 포인터가 기반이 되는 포인터 시작 부분부터 메모리 섹션에 오프셋됩니다. 포인터 주소 기반의 포인터는 32비트 및 64비트 컴파일에서만 유효한 __based
키워드 형식입니다. 이러한 컴파일에서 이 항목은 32비트 또는 64비트 기반에서 32비트 또는 64비트로 치환됩니다.
포인터 기반의 포인터는 포인터가 포함된 영구 식별자에 사용됩니다. 포인터 기반의 포인터로 구성된 연결 목록은 디스크에 저장한 다음, 유효한 포인터를 이용하여 메모리의 다른 장소로 다시 로드할 수 있습니다.
다음 예제에서는 포인터 기반 포인터를 보여 줍니다.
void *vpBuffer;
struct llist_t
{
void __based( vpBuffer ) *vpData;
struct llist_t __based( vpBuffer ) *llNext;
};
vpBuffer
포인터는 나중에 프로그램에 할당된 메모리 주소로 할당됩니다. 연결 목록은 vpBuffer
값을 기준으로 재배치됩니다.
Microsoft 전용 종료
참조
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기