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

福州网站制作有限公司网站开发报价单

福州网站制作有限公司,网站开发报价单,济南骏驰网站开发,做网站怎么才会被百度收录一、起因 事情的起因是这样的,在看别人代码时,发现了一种很有意思的写法,因为本人主要是以应用层开发为主,所以对这种写法还是比较少见的,所以研究了一下,就牵扯出了一些知识点,这里先卖个关子,继续往下看。 二、经过 发现了一串这样的代码 static void do_mac(mcmd_…

一、起因

        事情的起因是这样的,在看别人代码时,发现了一种很有意思的写法,因为本人主要是以应用层开发为主,所以对这种写法还是比较少见的,所以研究了一下,就牵扯出了一些知识点,这里先卖个关子,继续往下看。

二、经过

        发现了一串这样的代码

static void do_mac(mcmd_t *mcmd, char *params)
{}
MIIO_CMD(mac, do_mac, NULL);

       这个是明显是串口数据的处理回调。进入MIIO_CMD看一下

#define MIIO_CMD_ADDON_NAME								cmd
#define MIIO_CMD(_name, _cmd, _tip)						\miio_addon_entry_complete(MIIO_CMD_ADDON_NAME, _name, _cmd, _tip, 0)

        这里面就是一个宏定义,再进入 miio_addon_entry_complete 看一下

#define miio_addon_entry_complete(_addon, _name, _value, _tip, _acm)	\miio_addon_entry_declare(_addon, _name) = miio_addon_value_complete(_addon, _name, _value, _tip, _acm)

        这里面调用了 miio_addon_value_complete 赋值给了 miio_addon_entry_declare

        先看 miio_addon_value_complete

#define __miio_addon_acm_assignment(_acm) , .acm = (_acm) & 0B11#define _miio_addon_value_complete(_addon, _name, _value, _tip, _acm){.name = #_name, .full_name = #_addon"."#_name, .value = _value, .tip = _tip __miio_addon_acm_assignment(_acm)}
#define miio_addon_value_complete(_addon, _name, _value, _tip, _acm)	_miio_addon_value_complete(_addon, _name, _value, _tip, _acm)

        这里面就是赋值,把入口参数赋值给结构体的各个元素

        这里介绍一个#参数,防止有些朋友不太懂。

        #是一个字符串化操作符。就是把参数转化为字符串。例如下面这段代码

#define TO_STR(s) #sint a = 123;
printf("%s",TO_STR(a));

        代码的含义就是把Int类型的变量a转化为字符串类型,并且输出

        好,言归正传。再看 miio_addon_entry_declare 参数

#define _miio_addon_entry_declare(_addon, _name)				\miio_addon_symbol_t _miio_addon_list_2_##_addon##_2_##_name	\__attribute__((aligned(4)))								\__attribute__((unused, section(".miio_addon_list_2_"#_addon"_2_"#_name)))
#define miio_addon_entry_declare(_addon, _name)			_miio_addon_entry_declare(_addon, _name)

        这里面有个 miio_addon_symbol_t 结构体,看一下

typedef struct miio_addon_symbol_s {const char* name;const char* full_name;void* value;const char* tip;const uint8_t acm;
}miio_addon_symbol_t;

        这里面的元素就是 miio_addon_value_complete 宏定义的赋值。

#define _miio_ad

文章转载自:

http://3coDRJBF.fwnyz.cn
http://6iRYZr6j.fwnyz.cn
http://u4pbzdU7.fwnyz.cn
http://HKzTX7NM.fwnyz.cn
http://mWKPW3Zc.fwnyz.cn
http://idm0C6yw.fwnyz.cn
http://ZqUkM6kN.fwnyz.cn
http://bf7PoOKq.fwnyz.cn
http://FLeHpC2m.fwnyz.cn
http://FYUW09TL.fwnyz.cn
http://xp8nxQ0Y.fwnyz.cn
http://aKxjUNjF.fwnyz.cn
http://J91MwUky.fwnyz.cn
http://zPYN3pwk.fwnyz.cn
http://GKGKnmAG.fwnyz.cn
http://RkMvqBRd.fwnyz.cn
http://hLZd71XM.fwnyz.cn
http://a8MFmm2E.fwnyz.cn
http://1S0So80Z.fwnyz.cn
http://KFdi3DG5.fwnyz.cn
http://tKCVgzXc.fwnyz.cn
http://wHLal9kx.fwnyz.cn
http://SWoNUfSV.fwnyz.cn
http://nHix0Rhu.fwnyz.cn
http://SrUt0dJR.fwnyz.cn
http://FLqP7rVB.fwnyz.cn
http://5wxdIF7J.fwnyz.cn
http://lbfnW0ql.fwnyz.cn
http://VCpwqJiA.fwnyz.cn
http://tid3K1TE.fwnyz.cn
http://www.dtcms.com/wzjs/687882.html

相关文章:

  • 做网站的网站赚钱吗外发加工会计分录
  • 德兴市网站建设服务公司成都seo培训班
  • 毕业设计可以做自己的网站吗住房和城乡建设岗位证书
  • 长垣做网站两学一做教育纪实评价系统网站
  • 室内装饰设计师证书seo推广营销网站
  • 安全认证的机票网站成就怎么做装修设计案例网站
  • 做asp网站教程wordpress 目录样式
  • 搭建网站要不要给域名对方wordpress 手机首页设置
  • 建设专业网站电话咨询珠海网站建设网
  • 酒店宾馆客栈旅馆古典网站源码 asp源码带后台乐清seo公司
  • 网站做外链平台有哪些免费
  • 哪个网站课件做的比较好做装修的网站有哪些内容
  • 想自己做网站该学些什么音乐资源网站开发
  • 网站没有内容 能做优化吗外贸网站推广 sit
  • 66郑州网站建设推广文案范文100字
  • 长治市住房保障和城乡建设管理局网站电子商务网站建设题6
  • 深圳集智邦是网站建设公司建设网站建设哪里好
  • 网站升级维护通知专业建设特色
  • 怎样用jsp做网站分销平台是什么意思
  • 资阳网站开发汉阴网站建设
  • 网站制作引擎seo优化网站推广
  • 新野做网站wordpress开发教程
  • 无忧企业网站系统西部数码域名网站模板
  • 延吉网站网站建设手机下载软件
  • vue 做自适应网站网站建设 维护购销合同
  • 网站安全建设经费保障简历免费模板下载
  • wordpress文学站线下推广公司
  • 网站开发数据库连接失败辽阳建设银行网站
  • 设计网站页面出现问题海口wordpress培训
  • 优秀的网站建设公司wordpress自动加载插件