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

发布于 2024-07-08 10:59:00 字数 290 浏览 5 评论 0原文

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

近指针(未明确指定 __near):

unsigned int *VariableOnePtr;

指向近指针的指针:

unsigned int **VariableOnePtrPtr;

远指针:

unsigned int *__far VariableTwoPtr;

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

On an embedded target I use far pointers to access some parts of the memory map.

near pointer (without explicitely specifying __near):

unsigned int *VariableOnePtr;

Pointer to near pointer:

unsigned int **VariableOnePtrPtr;

far pointer:

unsigned int *__far VariableTwoPtr;

What is the correct way to declare a pointer to a far pointer? Does this pointer have to be a far pointer itself?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

难理解 2024-07-15 10:59:00

我相信你会这样做:

unsigned int * __far *VariableThreePtrPtr;

指向远指针的远指针将是:

unsigned int * __far * __far VariableFourPtrPtr;

I believe you would do this:

unsigned int * __far *VariableThreePtrPtr;

A far pointer to a far pointer would be:

unsigned int * __far * __far VariableFourPtrPtr;
谁许谁一生繁华 2024-07-15 10:59:00

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

"__far" is a proprietary, non-standard extension of your platform, so there can't exist any generic way to use it. See the compiler and standard library manufaturer's manuals for how to use it correctly.

叹梦 2024-07-15 10:59:00

您还可以使用 typedef 来实现这一点,例如

typedef unsigned int *__far VariableTwoPtr_t;
VariableTwoPtr_t* VariableTwoPtrPtr;

You can also use typedefs for that, for example

typedef unsigned int *__far VariableTwoPtr_t;
VariableTwoPtr_t* VariableTwoPtrPtr;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文