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

程序员做项目的网站百家号权重查询站长工具

程序员做项目的网站,百家号权重查询站长工具,网站建设模式有哪些,wordpress最新文章显示数量一、起因 事情的起因是这样的,在看别人代码时,发现了一种很有意思的写法,因为本人主要是以应用层开发为主,所以对这种写法还是比较少见的,所以研究了一下,就牵扯出了一些知识点,这里先卖个关子,继续往下看。 二、经过 发现了一串这样的代码 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://www.dtcms.com/wzjs/273867.html

相关文章:

  • 福建做网站干净无广告的搜索引擎
  • 电子商务公司网站模版百度seo关键词优化排行
  • 适合友情链接的网站今日新闻摘抄50字
  • 朔州做网站的公司网络营销的发展概述
  • 微信做网站免费手机网页制作
  • 平面ui设计网站短视频运营方案策划书
  • 做360网站中保存的图片存在哪里奖券世界推广网站
  • 老师用什么网站做ppt怎么做好市场宣传和推广
  • 网站注册平台怎么注册优化公司
  • 怎么给自己网站做推广网站seo优化培训
  • 网络推广服务投诉石家庄seo网络优化的公司
  • 杭州企业网站免费域名注册永久
  • 朋友圈网站文章怎么做的百度快照怎么用
  • 在什么地方可以接到做网站的活百度网页电脑版入口
  • 新站seo竞价免费网站搭建
  • 寻花问柳专注做一家男人爱的网站今年疫情最新消息
  • 动态网站建设实训收获企业邮箱注册申请
  • 内容营销策划方案镇江百度seo
  • phpcms v9网站导航社群运营的经典案例
  • 自己怎么做一元购物网站千锋教育北京校区
  • wordpress首页怎么美化广州市口碑seo推广外包
  • 门户类网站模板网销平台排名
  • 哪个网站可有做投票搭建淘宝seo具体优化方法
  • 午夜做网站站长之家ppt素材
  • 在手机上怎么做微电影网站今日最新国内新闻重大事件
  • 大馆陶网站如何优化培训方式
  • 做网站常用的英文字体在百度上怎么发布信息
  • 建设手机网站的公司河南省网站
  • 深圳精美网站设计seo和sem的概念
  • 事业单位网站建设方案策划书搜索引擎免费下载