我正在学习 C++,并且刚刚开始学习Qt编写 GUI 程序的一些功能。我问自己以下问题:
以前没有语法能够向操作系统询问窗口或通过网络进行通信的方式(我承认我也不完全理解的 API)如何突然 **通过自己用 C 编写的库获得这样的功能?** 在我看来,这一切都非常循环。您可能会在这些库中提出哪些 C 指令?
我意识到这个问题对于经验丰富的软件开发人员来说似乎微不足道,但我已经研究了几个小时,但没有找到任何直接的回应。它已经到了我无法遵循关于 Qt 的教程的地步,因为库的存在对我来说是不可理解的。
计算机就像一个洋葱,它有很多 很多 层,从纯硬件的内核到最外层的应用层。每一层都将自身的一部分暴露给下一个外层,以便外层可以使用内层的一些功能。
例如,在 Windows 的情况下,操作系统为在 Windows 上运行的应用程序公开了所谓的 WIN32 API。Qt 库使用该 API 将使用 Qt 的应用程序提供给它自己的 API。你用 Qt,Qt 用 WIN32,WIN32 用较低级别的 Windows 操作系统,以此类推,直到硬件中的电信号。