mmap显示bmp图片

这篇博客介绍了如何借助mmap内存映射文件功能来读取和显示BMP图像文件,详细注释解释了代码实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

利用mmap显示bmp图片,相关说明在代码注释中~

#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/mman.h>

#define FB_PATH "/dev/fb0"
#define BMP_NAME "demo.bmp"

int lcd_fd;
unsigned int *mem_p;    //定义无符号类型指针,用于存放映射地址

//初始化LCD
void LCD_Init(void)
{
   
        //打开屏幕
        lcd_fd = open(FB_PATH,O_RDWR);
        if(lcd_fd == -1)
        {
   
                printf("open lcd failure!\n");
                return ;
        }


/*
        mmap将一个文件或者其它对象映射进内存。
        函数原型:void* mmap(void* start,size_t length,int prot,int flags,int fd,off_t offset);
        参数:
                start:映射区的开始地址,设置为0时表示由系统决定映射区的起始地址。
                length:映射区的长度。//长度单位是 以字节为单位,不足一内存页按一内存页处理
                prot:期望的内存保护标志,不能与文件的打开模式冲突。是以下的某个值,可以通过or运算合理地组合在一起
                        PROT_EXEC //页内容可以被执行
                        P
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值