)
10. framebuffer什么是framebuffer帧缓存、帧缓冲技术。是Linux为显示设备提供的一个接口把显存抽象后的一种设备通过该设备文件可以实现应用层向显存空间的数据写入从而实现像素点的绘制。如何操作framebuffer通过内存映射技术可以实现显存空间和用户空间的内存映射通过向用户空间写入RGB颜色值从而实现显存数据的写入。打开显示设备文件/dev/fb0获取显示设备相关参数分辨率、像素点的位数位深度建立内存映射写入RGB颜色值解除内存映射关闭显示设备文件void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset); 功能建立文件和用户空间的内存映射 参数 addr要映射的用户空间首地址 NULL 让内核选取空间并将空间首地址返回 length 要映射的空间大小 prot对映射空间的读写执行权限 PROT_READ | PROT_WRITE flagsMAP_SHARED (共享映射区域) fd要映射的文件 offset映射的偏移量 返回值 成功映射到的用户空间首地址 失败MAP_FAILED((void *)-1)bmp图绘制