声明指向__far指针的正确方法是什么?

时间:2008-10-23 02:17:08

标签: c pointers embedded

在嵌入式目标上,我使用远指针来访问内存映射的某些部分。

靠近指针(没有明确指定__near):

unsigned int *VariableOnePtr;

指向近指针的指针:

unsigned int **VariableOnePtrPtr;

远指针:

unsigned int *__far VariableTwoPtr;

声明指向远指针的指针的正确方法是什么?这个指针本身必须是一个远指针吗?

3 个答案:

答案 0 :(得分:6)

我相信你会这样做:

unsigned int * __far *VariableThreePtrPtr;

指向远指针的远指针是:

unsigned int * __far * __far VariableFourPtrPtr;

答案 1 :(得分:3)

“__ far”是您平台的专有非标准扩展,因此不存在任何通用的方式来使用它。有关如何正确使用它的信息,请参阅编译器和标准库manufaturer的手册。

答案 2 :(得分:2)

您也可以使用typedef,例如

typedef unsigned int *__far VariableTwoPtr_t;
VariableTwoPtr_t* VariableTwoPtrPtr;