嵌入式Linux小项目之图片编解码播放器(4)

嵌入式Linux小项目之图片编解码播放器(4),第1张

嵌入式Linux小项目图片编解码播放器(4)

目录
  • 一、及时规整才能写出好项目
    • 1、再次强调规范问题
    • 2、为什么要规整项目
    • 3、对项目进行规整
    • 4、一些重构代码的技巧
    • 5、一些调试技巧

一、及时规整才能写出好项目 1、再次强调规范问题

(1)函数、变量起名字要合法合理
(2)要写注释
(3)函数长短要合适
(4)多文件组织,每个东西丢到合理的位置

可参考:《华为的C语言编程规范》
链接地址:我用阿里云盘分享了「华为C语言规范.pdf」,你可以不限速下载
复制这段内容打开「阿里云盘」App 即可获取
链接:https://www.aliyundrive.com/s/y3mFwXVDS1u

2、为什么要规整项目

(1)完全自由写项目时不可能一步到位,只能先重内容和功能,后补条理和规范
(2)规整的过程也是一个梳理逻辑和分析架构的过程

3、对项目进行规整

(1)去掉测试显示时头文件形式提供的图片显示数据相关的东西,用C语言方式读取并解析BMP文件

4、一些重构代码的技巧

(1)用#if 0 #endif来屏幕不需要的代码,尽量不要用
(2)暂时不要的代码先不要删除,而是屏幕掉

5、一些调试技巧

(1)添加DEBUG宏以控制调试信息输出
debug宏添加好后,要使能输出可以有2种方式:
第一种:就是在debug宏定义之前定义DEBUG宏。

#define DEBUG     //打开调试信息输出的开关
#ifdef DEBUG
#define DBG(...)                                    
			fprintf(stderr, " DBG(%s, %s(), %d): ",  
			__FILE__, __FUNCTION__, __LINE__);       
            fprintf(stderr, __VA_ARGS__);
#else

#define DBG(...)

第二种:在编译参数中添加-DDEBUG编译选项(Makefile中添加)

CFLAGS := -Wall -O2 -g -DDEBUG#编译器参数

(2)图片信息用结构体来封装来作为函数的参数传递

//用于封装一张图片的相关信息
typedef struct
{
	char *pathname;     //图片在文件系统中的路径+文件名
	unsigned int width; //图片分辨率之宽
	unsigned int height;//图片分辨率之高
	unsigned int bpp;   //图片的位图深度bpp
	char *pData;		//指向存储图片有效数据的buf
}pic_info;


注:本资料大部分由朱老师物联网大讲堂课程笔记整理而来并且引用了部分他人博客的内容,如有侵权,联系删除!水平有限,如有错误,欢迎各位在评论区交流。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4995121.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-14
下一篇2022-11-14

发表评论

登录后才能评论

评论列表(0条)

    保存