const struct sockaddr FAR* name,
这是分段内存架构时代的一个古老扩展。它基本上意味着“这是一个指针,需要能够指向任何地址,而不仅仅是与使用它的代码相同的段中的东西”。
查看更多或 page。
far
并不表示 C 中的任何内容。请查看C99 standard[PDF],看看是否可以找到有关远指针的提及。远指针是添加到针对 8086 / 80286 体系结构的编译器的扩展,以提供对分段内存模型的支持。
如果没有,除非你碰巧使用 16 位 x86 编译器。
如果您查看 Win32 标题 WinDef.h(在 Visual Studio 中,只需右键单击源代码中的单词 FAR 并选择“转到定义”,您将看到它是一个定义为far
的宏,这反过来也是一个定义为一无所有的宏!
在 16 位 x86 编译器中,far
是一个编译器扩展关键字,用于支持解析为 20 位地址的 seg::offset 指针 (16 位 x86 只有 1Mb 地址空间!)。它们与 16 位near
指针不同,后者只包含::当前段的偏移量。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(48条)