簡體   English   中英

我可以在Linux下直接將字節寫入視頻內存,還是有更好的方法將數據輸入屏幕?

[英]Can I write bytes directly to video memory under Linux, or is there a better way to get data onto the screen?

我教我的兒子編程“正確/艱難”,所以我們從C開始,就像真正的男人:)

將文本打印到控制台很有趣,但我仍然記得將我的舊i386切換到320x200x256模式並繪制幾個彩色矩形的興奮......當天回復就像調用int 10h那樣簡單然后你只需要寫字節到[A000:0000]在屏幕上繪制像素。

然而,對於現代Linux,這種對硬件的低級訪問似乎更復雜(出於顯而易見的原因)。 我簡要地看了一下這里描述的mmap -ing /dev/fd0 - 結果是我的Ubuntu 13.04上沒有/dev/fb0設備。 我也看過使用svgalib - 但是,他們的示例代碼在我的顯示器上沒有顯示任何內容。

所以問題是:在現代Linux中是否有簡單的方法可以直接訪問視頻內存,而不需要太多的系統配置和樣板代碼? 它不一定是全屏訪問 - 只要通過將數據直接寫入內存就可以打開X窗口並繪制像素也可以。

而不是直接訪問屏幕內存(這比人們可以相信的更多陷阱),你應該考慮使用Simple DirectMedia Layer來顯示你的圖形(以及更多!)並讓操作系統處理將其繪制到屏幕上。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM