当前位置: 首页 > wzjs >正文

广告设计公司怎么找业务seo搜索引擎优化简历

广告设计公司怎么找业务,seo搜索引擎优化简历,备案掉了网站会怎样,ps做网站视图大小C语言宏定义中X-Micro的使用 在LVGL源码中,全局变量初始化,以及函数声明和定义(LV_ROOTS)的时候的时候,使用到了X-Micro,下面拆解一下这个宏的用法。 下列代码来自:lv_gc.h 头文件 #define L…

C语言宏定义中X-Micro的使用

在LVGL源码中,全局变量初始化,以及函数声明和定义(LV_ROOTS)的时候的时候,使用到了X-Micro,下面拆解一下这个宏的用法。

下列代码来自:lv_gc.h 头文件

#define LV_DISPATCH(f, t, n)            f(t, n)#define LV_ITERATE_ROOTS(f)                                                                            \LV_DISPATCH(f, lv_ll_t, _lv_timer_ll) /*Linked list to store the lv_timers*/                       \LV_DISPATCH(f, lv_ll_t, _lv_disp_ll)  /*Linked list of display device*/                            \LV_DISPATCH(f, lv_ll_t, _lv_indev_ll) /*Linked list of input device*/                              \LV_DISPATCH(f, lv_ll_t, _lv_fsdrv_ll)                                                              \LV_DISPATCH(f, lv_ll_t, _lv_anim_ll)                                                               \LV_DISPATCH(f, lv_ll_t, _lv_group_ll)                                                              \LV_DISPATCH(f, lv_ll_t, _lv_img_decoder_ll)                                                        \LV_DISPATCH(f, lv_ll_t, _lv_obj_style_trans_ll)                                                    \LV_DISPATCH(f, lv_layout_dsc_t *, _lv_layout_list)                                                 \LV_DISPATCH_COND(f, _lv_img_cache_entry_t*, _lv_img_cache_array, LV_IMG_CACHE_DEF, 1)              \LV_DISPATCH_COND(f, _lv_img_cache_entry_t, _lv_img_cache_single, LV_IMG_CACHE_DEF, 0)              \LV_DISPATCH(f, lv_timer_t*, _lv_timer_act)                                                         \LV_DISPATCH(f, lv_mem_buf_arr_t , lv_mem_buf)                                                      \LV_DISPATCH_COND(f, _lv_draw_mask_radius_circle_dsc_arr_t , _lv_circle_cache, LV_DRAW_COMPLEX, 1)  \LV_DISPATCH_COND(f, _lv_draw_mask_saved_arr_t , _lv_draw_mask_list, LV_DRAW_COMPLEX, 1)            \LV_DISPATCH(f, void * , _lv_theme_default_styles)                                                  \LV_DISPATCH(f, void * , _lv_theme_basic_styles)                                                  \LV_DISPATCH_COND(f, uint8_t *, _lv_font_decompr_buf, LV_USE_FONT_COMPRESSED, 1)                    \LV_DISPATCH(f, uint8_t * , _lv_grad_cache_mem)#define LV_DEFINE_ROOT(root_type, root_name) root_type root_name;
#define LV_ROOTS LV_ITERATE_ROOTS(LV_DEFINE_ROOT)#define LV_GC_ROOT(x) x
#define LV_EXTERN_ROOT(root_type, root_name) extern root_type root_name;
LV_ITERATE_ROOTS(LV_EXTERN_ROOT)

在LVGL中,调用 LV_ROOTS 宏声明全局变量,下面拆解宏,宏的拆解从内到外,由于前面

#define LV_DISPATCH(f, t, n)            f(t, n)
#define LV_ITERATE_ROOTS(f)                                                               \f(lv_ll_t, _lv_timer_ll) /*Linked list to store the lv_timers*/                       \f(lv_ll_t, _lv_disp_ll)  /*Linked list of display device*/                            \f(lv_ll_t, _lv_indev_ll) /*Linked list of input device*/ ...... // 其余省略

根据这条宏定义:

LV_DEFINE_ROOT(root_type, root_name) root_type root_name;

把 f 替换为 LV_DEFINE_ROOT,因此就变为:

#define LV_ITERATE_ROOTS(LV_DEFINE_ROOT)                                                               \LV_DEFINE_ROOT(lv_ll_t, _lv_timer_ll) /*Linked list to store the lv_timers*/                       \LV_DEFINE_ROOT(lv_ll_t, _lv_disp_ll)  /*Linked list of display device*/                            \LV_DEFINE_ROOT(lv_ll_t, _lv_indev_ll) /*Linked list of input device*/ ...... // 其余省略

LV_DEFINE_ROOT(lv_ll_t, _lv_timer_ll)

展开之后便是:

lv_ll_t  _lv_timer_ll;

其他的同理,因此这里就对全局链表进行了声明;

如果要把全局变量属性设置为extern,给外部文件使用,只需要修改一下宏,改为下面这种形式,只需要修改一下 宏定义,就可以完成所有全局变量的声明:

#define LV_EXTERN_ROOT(root_type, root_name) extern root_type root_name;
LV_ITERATE_ROOTS(LV_EXTERN_ROOT)

总结:

使用 X-Macro 宏集中管理全局变量,减少代码更简洁,同时提升代码可维护性;

http://www.dtcms.com/wzjs/1245.html

相关文章:

  • 做网站的版式会侵权吗谷歌站长平台
  • 沧县做网站获客软件排名前十名
  • 做网站类的书本信息seo外链专员
  • 全国培训加盟网站建设做网站企业
  • 鲅鱼圈网站制作seo快排公司哪家好
  • 上海网站设计联系方式快抖霸屏乐云seo
  • php团购网站开发厦门seo搜索排名
  • 凡科网站建设之后怎么删除win优化大师有用吗
  • 公司网站建设价格多少网络推广视频
  • 分类信息网站平台的推广如何分析百度指数
  • 东营做网站优化的公司阿里云域名注册流程
  • 怎么做时时彩彩票网站2023必考十大时政热点
  • 网页版传奇制作教程广州市网络seo外包
  • 广东网站开发软件企业的互联网推广
  • 英文网站设计哪家好网站注册步骤
  • 企业网站建设建设seo网站推广建站服务商
  • 四川省的建设厅注册中心网站首页个人网站推广
  • 点瑞网络网站建设信息流优化师工作总结
  • 简单网页制作训练百度如何优化
  • app软件开发公司员工守则优化怎么做
  • 做网站容易学吗深圳营销推广公司
  • dede网站移动端怎么做企业管理咨询培训
  • 网站的优化分析谷歌paypal官网下载
  • html和php做网站哪个好seo网络排名优化哪家好
  • 绵阳专门做网站的公司网络营销主要做什么
  • 自己做流媒体网站难现在有什么推广平台
  • 做公司的网站的需求有哪些手机端关键词排名免费软件
  • 自己做的导航网站重庆seo黄智
  • 湖北网站建设价格网站推广的方式和方法
  • 嘉兴网站专业深圳疫情最新消息