Как записать непосредственно в кадровый буфер Linux?

это показывает различные пути:

-- DB2
select * from table fetch first 10 rows only 
-- Informix 
select first 10 * from table 
-- Microsoft SQL Server and Access 
select top 10 * from table 
-- MySQL and PostgreSQL 
select * from table limit 10 
-- Oracle 
select * from (select * from table) where rownum <= 10

7
задан SomeUser 10 February 2010 в 06:10
поделиться

3 ответа

посмотрите на FBIOPUT_VSCREENINFO, ioctl и mmap

(у меня есть код, но нет на этом компьютере, извините)

отредактируйте: это должно помочь вам начать

  //open file descriptor and get info
inf fdScreen = open( "devicename", O_RDWR );
fb_var_screeninfo varInfo;
ioctl( fdScreen, FBIOGET_VSCREENINFO, &varInfo );

  //set resolution/dpi/color depth/.. in varInfo, then write it back
ioctl( fdScreen, FBIOPUT_VSCREENINFO, &varInfo );

  //get writable screen memory; unsigned short here for 16bit color
unsigned short* display = mmap( 0, nScreenSize,
                                PROT_READ | PROT_WRITE, MAP_SHARED, fdScreen, 0 );
8
ответ дан 6 December 2019 в 10:51
поделиться

Обычно вы открываете / dev / fb0, выполняете несколько ioctls на нем, затем mmap. Затем вы просто пишете в область mmap'd своего процесса.

6
ответ дан 6 December 2019 в 10:51
поделиться

Хотите написать драйвер устройства? Если это так, ознакомьтесь с этим руководством

4
ответ дан 6 December 2019 в 10:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: