Long 指向常量宽字符串的指针,这里的 Long 的作用是啥?

Posted

技术标签:

【中文标题】Long 指向常量宽字符串的指针,这里的 Long 的作用是啥?【英文标题】:Long Pointer to Constant Wide String, what's the function of the Long here?Long 指向常量宽字符串的指针,这里的 Long 的作用是什么? 【发布时间】:2010-03-04 19:30:34 【问题描述】:

当你有一个 LPCWSTR 时,为什么它是一个长指针?据我所知,它的定义中没有 Long。

谁能解释一下?

【问题讨论】:

【参考方案1】:

“Long”是 Windows 16 位的遗留物。在过去,在 DOS 和 Windows 3.x 上,大多数应用程序都是 16 位的,并且具有 16 位指针。 32 位指针是“长”的,必须特别声明,并使用(在某些 DOS 情况下)选择器而不是平面地址空间。

【讨论】:

【参考方案2】:

在 32 位或更高版本的机器上,长指针与任何其他指针相同。差异出现在具有较小本机字大小的机器上,例如,您可能具有 16 位指针和 32 位指针类型。通常他们被称为near and far pointers。

【讨论】:

以上是关于Long 指向常量宽字符串的指针,这里的 Long 的作用是啥?的主要内容,如果未能解决你的问题,请参考以下文章

指向字符串常量的指针[重复]

string 是啥类型的?

MFC:特有的数据类型

第三节课作业

第三节课作业

字符数组与字符指针