Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Far在c中是什么意思?_C_Pointers - Fatal编程技术网

Far在c中是什么意思?

Far在c中是什么意思?,c,pointers,C,Pointers,它是分段内存体系结构时代的一个旧扩展。它基本上意味着“这是一个指针,需要能够指向任何地址,而不仅仅是使用它的代码所在的同一段中的东西” 更多信息请参见。这是分段内存体系结构时代的一个旧扩展。它基本上意味着“这是一个指针,需要能够指向任何地址,而不仅仅是使用它的代码所在的同一段中的东西” 更多信息,请参阅。far在C中没有任何意义。请查看[PDF]并查看是否可以找到有关远指针的内容。远指针是针对8086/80286体系结构的编译器中添加的一个扩展,为分段内存模型提供支持。Far在C中没有任何意义。

它是分段内存体系结构时代的一个旧扩展。它基本上意味着“这是一个指针,需要能够指向任何地址,而不仅仅是使用它的代码所在的同一段中的东西”


更多信息请参见。

这是分段内存体系结构时代的一个旧扩展。它基本上意味着“这是一个指针,需要能够指向任何地址,而不仅仅是使用它的代码所在的同一段中的东西”


更多信息,请参阅。

far
在C中没有任何意义。请查看[PDF]并查看是否可以找到有关远指针的内容。远指针是针对8086/80286体系结构的编译器中添加的一个扩展,为分段内存模型提供支持。

Far
在C中没有任何意义。请查看[PDF]并查看是否可以找到远指针。远指针是针对8086/80286体系结构的编译器中添加的一个扩展,为分段内存模型提供支持。

如果不使用16位x86编译器,则不执行任何操作

如果您查看Win32标题WinDef.h(在Visual Studio中,只需右键单击源代码中的单词FAR并选择“转到定义”,您将看到它是一个定义为
FAR
的宏,反过来,它也是一个定义为“无”的宏

它只允许将旧版Win16源代码编译为Win32。在16位x86编译器中,
far
是一个编译器扩展关键字,用于支持解析为20位地址的seg::offset指针(16位x86只有1Mb地址空间!)。它们与靠近的16位
指针不同,后者仅包含与当前段的::偏移量。

如果不使用16位x86编译器,则不执行任何操作

如果您查看Win32标题WinDef.h(在Visual Studio中,只需右键单击源代码中的单词FAR并选择“转到定义”,您将看到它是一个定义为
FAR
的宏,反过来,它也是一个定义为“无”的宏



它只允许将旧版Win16源代码编译为Win32。在16位x86编译器中,
far
是一个编译器扩展关键字,用于支持解析为20位地址的seg::offset指针(16位x86只有1Mb地址空间!)。它们不同于仅由当前段的::偏移量组成的16位
near
指针。

几乎不同,除非出于某种有趣的原因(这是非常罕见的)需要编写16位代码。对普通人来说没有用。在其他一些平台上,近指针和远指针可能会出现(意思不完全相同),因此,如果您要进行交叉编译,您可能需要处理它。@ollydbg-对于当前的x86 PC平台和应用程序,是的。对于其他平台,如单芯片嵌入式平台,则不是。是的,它在今天完全没有用,而且从未成为语言的一部分。@R..n它不是C的一部分,但它是va偶尔需要的编译器指令当今世界上的大多数计算机(提示,它们不是x86或ARMs)。除非你出于某种有趣的原因需要编写16位代码(这是非常罕见的)。对普通人来说毫无用处。在其他一些平台上,近指针和远指针可能会出现(意义不完全相同),因此,如果您要进行交叉编译,您可能需要处理它。@ollydbg-对于当前的x86 PC平台和应用程序,是的。对于其他平台,如单芯片嵌入式平台,则不是。是的,它在今天完全没有用,而且从未成为语言的一部分。@R..n它不是C的一部分,但它是va偶尔需要的编译器指令当今世界上的大多数计算机(提示,它们不是x86或ARMs)。其他几个平台也有近距离指针和远距离指针。例如AVR。@Vovanium:你能提供引用吗?GNU AVR编译器当然不支持
far
near
关键字。不过,东芝MeP的GNU编译器有
near
far
,但其架构原因与x86 Re不同al模式。因此,是的,一些体系结构仍然需要扩展来解决不同的内存空间;而不仅仅是
near
far
。哈佛体系结构和DSP通常需要扩展。IAR有微小、近、远和巨大的存储说明符(请看)是的,指针大小说明符可能与x86不一样。@Vovanium:谢谢你花时间。我从来都不需要使用具有足够内存的AVR来需要远指针!这就是ARM的用途!;)Clifford:看,ATXMEGAs对于大型应用程序来说又胖又快。因此,如果有人喜欢AVR,这是我的选择。但我也更喜欢32位MCU。:)其他几个平台也有近距离和远距离指针。例如AVR。@Vovanium:你能提供引用吗?GNU AVR编译器当然不支持
far
near
关键字。但是,东芝MeP的GNU编译器有
near
far
,但其架构原因与x86 Rea不同l模式。因此,是的,一些体系结构仍然需要扩展来解决不同的内存空间;不仅仅是
near
far
。哈佛体系结构和DSP通常需要扩展。IAR有微小的、近的、远的和巨大的存储说明符(看)是的,指针大小说明符可能与x86不一样。@Vovanium:谢谢你花时间。我从来都不需要使用具有足够内存的AVR来需要远指针!这就是ARM的用途!;)Clifford:看,ATXMEGAs对于大型应用程序来说既胖又快。因此,如果有人喜欢AVR,那就是选择。但我也更喜欢32位MCU。:)这意味着我让比尔·盖茨(Bill Gates)暂缓,他想和你谈谈从20世纪80年代开始,他的“640k对任何人来说都足够”计划。这意味着我让比尔·盖茨(Bill Gates)暂缓,他想和你谈谈他“640k对任何人来说都足够”计划
const struct sockaddr FAR* name,