我在使用 xcode 的 mac 上使用 C 和 C++ 编程已经有一段时间了,但是,我不知道如何超越我一直在编写的简单文本输入/输出程序。我了解这些原则,但事实证明很难弄清楚这些原则。
我听说用于 C++ 的 qt 或 gtk+ 之类的库是最好的选择,但大多数书籍和教程都侧重于 Windows 或 linux 编程,并且没有一开始说明这些库是如何工作的。我想真正了解幕后发生的事情;我想了解 GUI 如何在尽可能低的级别上工作,即使在汇编和机器代码级别也是如此。有谁知道从哪里开始?谢谢。
我在使用 xcode 的 mac 上使用 C 和 C++ 编程已经有一段时间了,但是,我不知道如何超越我一直在编写的简单文本输入/输出程序。我了解这些原则,但事实证明很难弄清楚这些原则。
我听说用于 C++ 的 qt 或 gtk+ 之类的库是最好的选择,但大多数书籍和教程都侧重于 Windows 或 linux 编程,并且没有一开始说明这些库是如何工作的。我想真正了解幕后发生的事情;我想了解 GUI 如何在尽可能低的级别上工作,即使在汇编和机器代码级别也是如此。有谁知道从哪里开始?谢谢。
如果您使用 OpenGL,您可以获得关于图形硬件如何工作的非常低级的知识,以便生成您想要的各种 UI 元素。当然,您必须自己完成所有这些工作。从设计各种 UI 项目,到创建像素缓冲区和纹理映射,再到使用帧缓冲区。这部分也是跨平台的。
您还可以自己处理用户交互和界面逻辑(轮询鼠标/键盘等)。编写更复杂的小部件可能需要一些时间,但至少您将自己完成所有工作,这将使您对 GUI 工具包的工作方式有相当多的了解。
GLUT 随大多数 Mac 一起提供,并为您提供入门的基本要素(您至少有一个窗口 :))
https://developer.apple.com/library/mac/#samplecode/glut/Introduction/Intro.html
GLUT 库支持以下功能:
http://www.opengl.org/resources/libraries/glut/glut_downloads.php