我最近一直在做一些 Winsock 编程。我在 Windows SDK 中做的事情不多。我从小就没有构建过真正的 Win32 应用程序,当时我也没有考虑过,但现在我查看了一些已定义的类型,它们只是简单地包装了与平台无关的其他类型,我想知道为什么有人当他们不需要时会使用它们。我看不出比使用 PSTR 或 DWORD 比使用本地对应部件有任何优势。在Winsock Reference 中有一个页面列出了所有的结构和 typedef被定义的。他们将所有结构类型定义为大写字母,我不理解当设计 Windows SDK 的决定是像这样将所有类型定义为大写字母时试图完成的总体策略。
我不明白为什么任何人,即使在 Windows 中编写代码,如果他们没有大写版本,也会使用大写版本,仅仅是因为如果将来需要的话,这似乎会使代码更难移植。我总是尽可能使用本机类型和原始 Winsock 结构。我试图做一些寻找这个问题的答案,但也许我想不出如何正确地表达一个查询。我错过了一些优势吗?任何人都可以为我阐明这一点吗?