2008-10-23 3 views
3

На встроенной цели я использую большие указатели для доступа к некоторым частям карты памяти.Каков правильный способ объявить указатель на указатель __far?

возле указателя (без явно указав __near):

unsigned int *VariableOnePtr;

Указатель возле указателя:

unsigned int **VariableOnePtrPtr;

дальний указатель:

unsigned int *__far VariableTwoPtr;

Что такое правильный способ объявить указатель на удаленный указатель? Должен ли этот указатель быть самым дальним указателем?

ответ

6

Я считаю, что вы могли бы сделать это:

unsigned int * __far *VariableThreePtrPtr; 

Далеко указатель на дальний указатель будет:

unsigned int * __far * __far VariableFourPtrPtr; 
2

Вы можете также использовать определения типов для этого, например

typedef unsigned int *__far VariableTwoPtr_t; 
VariableTwoPtr_t* VariableTwoPtrPtr; 
3

«__far» - это проприетарное, нестандартное расширение вашей платформы, поэтому не может быть никакого общего способа его использования. Инструкции по правильному использованию см. В руководствах по составителю и стандартным библиотечным справочникам.

Смежные вопросы