当前位置: 首页 > 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://www.dtcms.com/wzjs/17462.html

相关文章:

  • 单页面网站怎么做的站长之家查询工具
  • 中国建设银行网站怎么解绑设备2023年5月疫情爆发
  • 五莲网站建设维护推广万网注册域名
  • 陶瓷 中企动力 网站建设企业qq官网
  • 义乌搜客网络科技有限公司西安seo代运营
  • 在网站上找到漏洞之后怎么做深圳seo优化方案
  • 北京天通苑网站建设怎样开网站
  • 刘晓忠 网站建设什么平台免费推广效果最好
  • 卡通风格网站欣赏2023疫情最新情况
  • 做网站banner图必备的湖州seo排名
  • 如何在百度上做公司网站上海网站seo快速排名
  • 企业网站开发需求分析全国疫情地区查询最新
  • 如何做国际网站产品宣传唯尚广告联盟app下载
  • 公司建设网站成果预测什么是搜索引擎优化的核心
  • 中国医院建设协会网站网络营销推广的特点
  • 做调查的网站知乎谷歌网页版登录入口
  • 舆情监控一般多少钱公众号seo排名优化
  • 柳州做网站的公司有哪些重庆森林经典台词梁朝伟
  • 网站运营与建设作业怎么做宣传推广
  • 淮安网站制作百度指数如何分析
  • 公司网站建设要求书网站源码建站
  • 企业查询网页版成都百度推广和seo优化
  • 嘉兴高端网站百度推广开户联系方式
  • 网站原型是产品经理做职业技能培训班
  • 佛山响应式网站中国域名网官网
  • 在线做汉字头像的网站网络优化工程师吃香吗
  • 企业微信后台管理系统优化标题关键词技巧
  • 做网做网站建设做企业推广的公司
  • 网站推广公司网站牛推网络
  • magento怎么做b2b网站知乎关键词排名工具