17

我正在教我儿子编程“正确/艰难的方式”,所以我们从 C 开始,就像真正的男人一样 :)

将文本打印到控制台很有趣,但我仍然记得将我的旧 i386 切换到320x200x256 模式并绘制一些彩色矩形的那种兴奋int 10h......[A000:0000]在屏幕上绘制像素。

然而,在现代 Linux 中,对硬件的这种低级访问似乎更加复杂(原因很明显)。我已经按此处所述简要查看了mmap-ing - 结果发现我的 Ubuntu 13.04 上没有设备。我还研究了使用- 但是,他们的示例代码在我的显示器上没有显示任何内容。/dev/fd0/dev/fb0svgalib

所以问题是:在不需要太多系统配置和样板代码的现代 Linux 中,有没有简单的方法可以直接访问视频内存?它不必是全屏访问——打开一个 X 窗口并在那里绘制像素也可以,只要它是通过将数据直接写入内存来完成的。

4

1 回答 1

13

与其直接访问屏幕内存(它充满了比人们想象的更多的陷阱),您应该考虑为您的图形使用简单的 DirectMedia 层(以及更多!)并让操作系统处理将其绘制到屏幕上。

于 2013-07-15T01:24:59.587 回答