会有Win64 API吗?

时间:2011-09-19 20:19:24

标签: windows winapi 64-bit 32bit-64bit

如果我是正确的,Win32正在适应或已经适应64位窗口,例如,64位的GetWindowLongPtr而不是32位的GetWindowLong。是否会有Win64 Api,如果有,是否有任何迹象表明何时会发生转换?

我对这个问题知之甚少,所以如果我有任何明显的错误,我会道歉。先谢谢你,

4 个答案:

答案 0 :(得分:17)

这种转变发生在世纪之交。使用64位版本的Win32的64位版本的Windows已经使用了很长时间。

然而,64位版本的Win32仍称为Win32,因为它本质上是一个相同的接口,唯一的主要区别是不同大小的指针。

答案 1 :(得分:4)

刚刚宣布的新Windows API称为WinRT。有关详细信息,我建议您观看BUILD中的主题演讲。

答案 2 :(得分:1)

Windows API因为假设sizeof(void *)的已知值并将其粘贴在一个被认为大小相同的整体类型的字段中而遭受了极大的痛苦。即使在Windows MSG structure中,wParam之所以如此命名,因为它最初是WORD,或无符号16位值,lParam是LONG或有符号32位值。也许这是C Programmers' Disease的另一个症状。

答案 3 :(得分:0)

x64中的win32内容(“Win32 API”)实际上是64位代码(*参见注释)。

实际的32位代码(在64位窗口中)在WoW64子系统下运行,该子系统包含文件系统和注册表。虽然这可能看起来“草率”,但它实际上有一点意义,因为可以为x32和x64编译程序而无需更改名称(只要使用了正确的版本中性代码) - 也就是说,核心界面和“windows如何工作”是一个相当稳定的目标。

快乐的编码。