我正在阅读一本书,它提到某种数据类型被称为“长指针”,想知道这是什么意思。谢谢。
根据书籍的年代不同,它可能指的是分段架构,其中存在两种不同的“大小”指针:近指针,指向本地段(可以适合16位),远或长指针,可以指向另一个段(因此更大)。这就是为什么在Win32 API中看到像LPVOID这样的类型:LPVOID是指向内存中任何位置的“long(far)pointer to void”,即指针。
LP和NP的使用是Win16和当时分段处理器架构的遗留物。在现代Windows中,由于其平面虚拟地址空间,近指针和远指针通常只具有考古价值:只有一种指针类型,您可以忽略“near”和“long / far”限定符。