linux下利用framebuffer画点的程序小例子

/* * ===================================================================================== * * Filename: framebuffer.c * * Description: linux下利用framebuffer画点的程序小例子 * * Version: 1.0 * Created: 2011年02月25日 10时33分29秒 * Revision: none * Compiler: gcc * * Author: [email protected] * Company: * * ===================================================================================== */ #include <stdio.h> #include <stdlib.h> #include <fcntl.h> #include <sys/mman.h> #include <linux/fb.h> #include <unistd.h> int main(int argc, char* argv[]) { int fb; int w, h; int *fbmem; struct fb_var_screeninfo fb_var; int bits; int i; //打开设备文件fb0 fb = open("/dev/fb0", O_RDWR); if(fb < 0) { printf("open fb0 error!/n"); exit(0); } //获取设备信息 ioctl(fb, FBIOGET_VSCREENINFO, &fb_var); w = fb_var.xres; h = fb_var.yres; bits = fb_var.bits_per_pixel; printf("Framebuffer:%d * %d/n", w, h); printf("Bits:%d/n", bits); //映射空间 fbmem = mmap(0, w*h*sizeof(int), PROT_READ | PROT_WRITE, MAP_SHARED, fb, 0); *(fbmem + w * 300 + 400) = 0xffffff; return 0; } 

你可能感兴趣的:(linux,gcc,compiler)