2009-10-12 9 views
1

다음 정의가 있습니다. "@far int * @near IntegerPointer;"의 의미

far int* near IntegerPointer; 

이 평균 멀리 메모리 영역에 배치 정수를 가리키는 '근처'메모리에 배치 포인터를 않습니다.

아무에게도 명확히 할 수 있습니까?

+2

같은 이상한 "지시"가 컴파일러의 종류는? –

+2

컴파일러 란 무엇입니까? –

+0

이것은 Objective-C일까요? –

답변

2

네, 맞습니다.

읽기 선언 (내부에서 밖으로와) 오른쪽에서가 왼쪽 :

@far int* @near IntegerPointer; 
       ^^^^^^^^^^^^^^ 

IntegerPointer가

@far int* @near IntegerPointer; 
      ^^^^^ 

IntegerPointer입니다 것은 @near

@far int* @near IntegerPointer; 
     ^
입니다

IntegerPointer는 @near 포인터

@far int* @near IntegerPointer; 
    ^^^ 

IntegerPointer 값 int하는 @near 포인터

@far int* @near IntegerPointer; 
^^^^ 

IntegerPointer은 @far
또는 int로하는 @near 포인터 IntegerPointer는 @far int에 대한 포인터입니다.

어떤 @near@far의 의미는 거의 없습니다.

+0

다른 주소 지정 방법이라고 생각합니다. – GManNickG

+0

near 및 far 포인터를 사용하는 Windows C 컴파일러는 각각 (IIRC) 16 및 32 비트입니다. 왜 그 질문의 본문에 있지 않기 때문에 나는 "@"을 모릅니다. –

-1

[psyhic power on] 네 말이 맞습니다. :)

int* @near IntegerPointer; 

near 메모리에 배치 포인터처럼 보이는 반면

@far int* IntegerPointer; 

[psyhic power off]

그냥 간단한, far 메모리에 바로 포인터가 될 것입니다.