【问题标题】:Why is the Windows API less straight forward than other APIs? [closed]为什么 Windows API 不如其他 API 直接? [关闭]
【发布时间】:2010-09-22 19:42:05
【问题描述】:

在我看来,Windows API 并不像您想象的那么简单。对我来说,它们是有点复杂的时尚?

这是保持向后兼容性的效果吗?

Microsoft 的主要目标是推动开发人员使用 ATL/MFC、VB 和/或 .net 等更高级别的抽象吗?

这是我第一次使用 Win32 API,像FindFirstFile 这样的调用让我坚信 UNIX 哲学,其中 API 似乎只需 10% 的工作就可以实现 90% 的灵活性。再一次,似乎有一些独特的情况需要在 *nix 类型的机器上使用诸如 fcntl 之类的调用,它们将成为 Windows 上实际调用不可或缺的一部分。

...还是我只是缺少一个基本范式?

【问题讨论】:

  • 如果不是直言不讳的话会有更多的机会保持开放......
  • 向后兼容。很受欢迎。
  • @Novikov - 你为什么不重新表述你的问题,所以它不是“你为什么烂?”类型的问题。 ....至少如果你真的想知道答案。
  • 就我个人而言,Win32 造成的脱发比可怕的 ATL 少得多。
  • 和一个关闭。这真的只是一个咆哮

标签: windows winapi api-design


【解决方案1】:

需要注意的几点:

  1. 它是大约 20 年前设计的,主要基于十年前设计的早期版本的 Windows。

  2. 它基于 C,所以 GetString() 函数需要有类似的设计

    bool GetString( char* stringBuffer, int bufferLen)
    

    而不是

    char* GetString(void)
    

    任何其他语言都会有。

  3. 向后兼容性是使用此 API 的首要任务,因为 Microsoft 拥有的每一行 Windows 代码都是在 Windows API 之上构建的

【讨论】:

    猜你喜欢
    • 2021-08-11
    • 1970-01-01
    • 2014-12-21
    • 2016-06-09
    • 1970-01-01
    • 2013-09-22
    • 2016-08-22
    • 1970-01-01
    • 2019-05-31
    相关资源
    最近更新 更多