我正在教我儿子编程“正确/艰难的方式”,所以我们从 C 开始,就像真正的男人一样 :)
将文本打印到控制台很有趣,但我仍然记得将我的旧 i386 切换到320x200x256 模式并绘制一些彩色矩形的那种兴奋int 10h
......[A000:0000]
在屏幕上绘制像素。
然而,在现代 Linux 中,对硬件的这种低级访问似乎更加复杂(原因很明显)。我已经按此处所述简要查看了mmap
-ing - 结果发现我的 Ubuntu 13.04 上没有设备。我还研究了使用- 但是,他们的示例代码在我的显示器上没有显示任何内容。/dev/fd0
/dev/fb0
svgalib
所以问题是:在不需要太多系统配置和样板代码的现代 Linux 中,有没有简单的方法可以直接访问视频内存?它不必是全屏访问——打开一个 X 窗口并在那里绘制像素也可以,只要它是通过将数据直接写入内存来完成的。