svgalib安裝與應用

2021-08-19 20:23:28 字數 2185 閱讀 5257

svgalib編譯安裝:

一、要先安裝libx86-1:

tar xzf libx86_1.1+ds1.orig.tar.gz 

gunzip libx86_1.1+ds1-6.diff.gz

cd libx86-1.1/

patch -p1 < ../libx86_1.1+ds1-6.diff 

make // 出錯,修改lrmi.h,新增巨集, 參考561491.patch

lrmi.h新增如下**:

#if defined(__linux__) && !defined(tf_mask)

#define tf_mask x86_eflags_tf

#define if_mask x86_eflags_if

#define vif_mask x86_eflags_vif

#define iopl_mask x86_eflags_iopl

#endif

#define real_mem_base

((void *)0x10000)

#define real_mem_size

0x10000

#define real_mem_blocks

0x100

修改後:

make

sudo make install

svgalib_1.4.3.orig.tar.gz

svgalib_1.4.3-30.debian.tar.gz

svgalib_1.4.3-30.dsc

打補丁tar xzf svgalib_1.4.3.orig.tar.gz

tar xzf svgalib_1.4.3-30.debian.tar.gz

cd svgalib-1.4.3.orig/

for file in ../debian/patches/*.patch; do patch -p1 < $file; done

編譯安裝:

sudo make install  

把庫考到/lib:

sudo cp svgalib-1.4.3.orig/sharedlib/*so* /lib

測試:官方例子:

#include #include int main(void)

非常簡單,沒什麼好說的。

我把svgalib應用在我前面用hzk16實現的電子書上,就可以在pc的tty終端顯示電子書了。主要把之前對fbmem的put pixel改為 vga_drawpixel(),其他地方相應改一下即可。下面是我寫的兩個函式:

svga_clean()函式,代替原來的memset(fbmem, 0, screen_size);:

void svga_clean(void)

crt_show_pixel(int x,int y,int color)函式代替原來的lcd_put_pixel():

void ctr_show_pixel(int x,int y,int color)

lcd_init()函式中把對lcd的操去掉,直接設定幾個解析度引數即可:

int lcd_init(void)

main()函式中新增對svga的一些初始化**:

vga_init();

vga_setmode(g320x200x256);

gl_setpalettecolor(4, 0xe7>>2, 0xdb>>2, 0xb5>>2); /* 0xe7dbb5 */ /* 泛黃的紙 */

svga_clean();

gcc -o svgatest main.c function.c -lvga -lvgagl 

要在tty文字模式下執行程式,程式會進入圖形模式來顯示。

如其他地方有問題的話,適當修改一下即可。

使用svgalib在虛擬機器tty終端下顯示電子書效果:

對電子書有疑問的,可以參考我前面的電子書**:

對svgalib使用有疑問的可以參考svgalibtutorials:

php安裝與應用

1 服務端指令碼。這是 php 最傳統,也是最主要的目標領域。開展這項工作需要具備以下三點 a php 解析器 cgi 或者伺服器模組 b web 伺服器 c web 瀏覽器。需要在執行 web 伺服器時,安裝並配置 php,然後,可以用 web 瀏覽器來訪問 php 程式的輸出,即瀏覽服務端的 p...

twemproxy安裝與簡單應用

twemproxy可用於redis分片 github cd twemproxy autoreconf fvi configure make sudo make install 2 檢視幫助手冊 nutcracker v 3 啟動兩個redis例項,8100 8200 cp conf nutcrack...

sphinx 的安裝與應用

1 php的windoes sphinx擴充套件安裝 php的linux sphinx擴充套件安裝 wget tarzxf sphinx 1.3.0.tgz cdsphinx 1.3.0 usr local php bin phpize configure with php config usr l...