我基本上是想弄清楚如何从头开始制作一个 GUI,除了 linux 内核和 C 编程之外什么都没有。
我不打算从头开始创建 GUI 桌面环境,但我想创建一些桌面应用程序,并且在我搜索知识的过程中,我能找到的所有信息都是关于 GUI API 和工具包的。我想知道,至少我对 Linux GUI 是如何制作的基本原理的理解,如何在不使用任何 API 或工具包的情况下制作 GUI 环境或 GUI 应用程序。
我想知道例如:
现有的 API 和工具包通过对内核的系统调用工作(内核负责在最低级别以像素或其他方式构建 GUI 图像)
这些工具包执行简单地将信息传递给屏幕驱动程序的系统调用(是否有发送所有屏幕驱动程序都遵守的信息的标准格式,或者 GUI API 是否需要能够根据特定的屏幕/驱动程序以多种格式输出此信息? ) 并且如果这大致正确,原始的 linux 内核是否通常只以 8 位字符的形式将信息发送到屏幕?
我真的很想了解 linux 内核之间发生了什么,以及我在屏幕上看到的内容(通过软件和硬件的控制/信息流,如果您知道,信息采用什么格式等)。我非常感谢详细的解释,我知道这可能很难解释得足够详细,但我认为这样的解释对于其他好奇和学习的人来说将是一个很好的资源。对于上下文,我是一名 3 年级的 Comp sci 学生,他最近开始在我的系统编程课程中使用 C 进行编程,并且我对 linux 和编程有中级(或者我会描述它)的理解。再次感谢所有帮助我的人!!!