linuxϵÄframebufferµÄÀý×Ó(ת)
Àý×ÓʵÏÖÁËÖ±½ÓдÆÁµÄ¹¦ÄÜ£¬¼´°ÑÆÁÄ»Çå¿Õ£¨±äºÚ£©£¬³ÌÐòµÄÁ÷³Ì´óÖÂΪ£º´ò¿ªÒ»¸öFrameBufferÉ豸£»Í¨¹ýmmapµ÷ÓðÑÏÔ¿¨µÄÎïÀíÄÚ´æ¿Õ¼äÓ³Éäµ½Óû§¿Õ¼ä£»Í¨¹ýÓ³Éä¹ØÏµÖ±½ÓдÄÚ´æ¡£
Í·Îļþ
////////////////////////////////////////
///////////// fbtools.h ////////////////
////////////////////////////////////////
#ifndef _FBTOOLS_H_
#define _FBTOOLS_H_
#include <linux/fb.h>
//a framebuffer device structure;
typedef struct fbdev
{
int fb;
unsigned long fb_mem_offset;
unsigned long fb_mem;
struct fb_fix_screeninfo fb_fix;
struct fb_var_screeninfo fb_var;
char dev[20];
} FBDEV, *PFBDEV;
//open & init a frame buffer
//to use this function,
//you must set FBDEV.dev="/dev/fb0"
//or "/dev/fbX"
//it's your frame buffer.
int fb_open(PFBDEV pFbdev);
//close a frame buffer
int fb_close(PFBDEV pFbdev);
//get display depth
int get_display_depth(PFBDEV pFbdev);
//full screen clear
void fb_memset(void *addr, int c, size_t len);
#endif
²âÊÔÎļþ£¬ÆäÖÐÉîÑÕÉ«µÄ×¢ÊͲ¿·ÖΪÔÚÎÒ»úÆ÷ÉϲâµÃµÄ½á¹û
///////////////////////////////////////////
/////////////// fbtools.c ///////////////
///////////////////////////////////////////
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
#include <string.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
#include <asm/page.h>
#include "fbtools.h"
#define TRUE 1
#define FALSE 0
#define MAX(x,y) ((x)>(y)?(x):(y))
#define MIN(x,y) ((x)<(y)?(x):(y))
//open & init a frame buffer
int fb_open(PFBDEV pFbdev)
{
pFbdev->fb = open(pFbdev->dev, O_RDWR);// pFbdev->fb==3
if(pFbdev->fb < 0)
{
printf("Error opening %s: %m. Check kernel config
", pFbdev->dev);
return FALSE;
}
if (-1 == ioctl(pFbdev->fb,FBIOGET_VSCREENINFO,&(pFbdev->fb_var)))
{
printf("ioctl FBIOGET_VSCRE
Ïà¹ØÎĵµ£º
Ê×ÏÈ£¬¼Çסvi±à¼Æ÷µÄÁ½¸öģʽ£º1¡¢ÃüÁîģʽ
2¡¢±à¼Ä£Ê½
¡£
¡¡
¡¡ÔÚÒ»¸öUNIX/LinuxµÄshellÃüÁî»òÕßÒ»¸öÒÔб¸Ü£¨/£©¡¢Îʺţ¨?£©»òðºÅ£¨:£©¿ªÊ¼µÄviÃüÁîºóÃæÓû§ÐèÒª¼üÈë»Ø³µ¼ü£¬¶øÒªÇл»µ½viÃüÁî
ģʽÐèÒª°´Esc¼ü¡£×¢Ò⣬ÒÔðºÅ£¨:£©»òÕßб¸Ü£¨/£© ¿ªÊ¼µÄviÃüÁî»áÏÔʾÔÚÆÁÄ»µ×²¿£¬µ«ÆäËûÃüÁî¶¼²»»áÏÔʾÔÚÆÁÄ»É ......
1. ½øÈëµ½vimµÄ°²×°Ä¿Â¼£¬Ò»°ãΪ /usr/share/vim/vim70/
, »òÀàËÆ /usr/share/vim/vim??
/£»
2. Èç¹ûÓÐ .vimrc.vim
Îļþ£¬²éÕÒµ½¸ÃÎļþÖеÄÈçÏÂÄÚÈÝ£º
if has("vms")
set
nobackup " do not keep a backup file, use versions instead
else
set
backup " keep a backup f ......
1. /proc/sys/net/core/rmem_max — ×î´óµÄTCPÊý¾Ý½ÓÊÕ»º³å
2. /proc/sys/net/core/wmem_max — ×î´óµÄTCPÊý¾Ý·¢ËÍ»º³å
3. /proc/sys/net/ipv4/tcp_timestamps — ʱ¼ä´ÁÔÚ(Çë²Î¿¼RFC 1323)TCPµÄ°üÍ·Ôö¼Ó12¸ö×Ö½Ú
4. /proc/sys/net/ipv4/tcp_sack — ÓÐÑ¡ÔñµÄÓ¦´ð
5. /proc/sys/net/ipv4/tcp_windo ......
www.csdn.net
www.linux.org
www.chinaunix.net
http://www.loveunix.net/
http://www.linuxsir.org/main/
http://www.linuxforum.net/
http://www.codeproject.com/
http://www.codeplex.com/
http://sourceforge.net/
python:
http://www.python.org/
agile:
http://www.thoughtworks.com/ ......