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

高校网站建设申请怎么写如何在电脑上重新装wordpress

高校网站建设申请怎么写,如何在电脑上重新装wordpress,做地方网站收益怎么样,沈阳正规的男科医院排名前言 最近移植接触 Linux 的设备树解析相关的代码#xff0c;对 Linux of #xff08;open firmware#xff09;设备树解析代码比较感兴趣。 可以通过阅读Linux 大量的优秀代码#xff0c;增强一些编程与编码的技巧与经验 切入点 of_device_is_available #xff1a;设…前言 最近移植接触 Linux 的设备树解析相关的代码对 Linux of open firmware设备树解析代码比较感兴趣。 可以通过阅读Linux 大量的优秀代码增强一些编程与编码的技巧与经验 切入点 of_device_is_available 设备树节点是否可用源码位置 drivers\of\base.c 代码如下 /*** of_device_is_available - check if a device is available for use** device: Node to check for availability** Returns true if the status property is absent or set to okay or ok,* false otherwise*/ bool of_device_is_available(const struct device_node *device) {unsigned long flags;bool res;raw_spin_lock_irqsave(devtree_lock, flags);res __of_device_is_available(device);raw_spin_unlock_irqrestore(devtree_lock, flags);return res;}代码调用流程 of_device_is_available 调用了 __of_device_is_available 通过注释发现判断一个设备树节点是否【使能】条件为 1如果有 status 属性属性值是 “ok” 或 “okay”则表示节点使能2如果没有 status 属性依旧认为 此设备树节点使能。 示例 watchdog0 {status disable; }; watchdog1 {status okay; }; pcie_vnet0 {status ok;extend-op 16;memory-region pcie_ctrl_reserved; }; i2s0 {status disable; };i2s1 {status disable; };此时 watchdog0 与 watchdog1 pcie_vnet0 均使能而 i2s0 与 i2s1 节点由于 status disable;不使能。 __of_device_is_available 的实现代码 /*** __of_device_is_available - check if a device is available for use** device: Node to check for availability, with locks already held** Returns true if the status property is absent or set to okay or ok,* false otherwise*/ static bool __of_device_is_available(const struct device_node *device) {const char *status;int statlen;if (!device)return false;status __of_get_property(device, status, statlen);if (status NULL)return true;if (statlen 0) {if (!strcmp(status, okay) || !strcmp(status, ok))return true;}return false; }调用了 __of_get_property 去获取【查找】是否存在 status 属性一个设备树节点可以有多个属性 i2c1 {status okay;clock-frequency 1000000; };以上 设备树节点 i2c1 有两个属性 一个属性是 status另一个属性是 clock-frequency属性就是一个 key value 键值对 代码其实很精简如果没有 status 属性就返回 TRUE也就是认为【节点使能】 如果 有 status 属性并且属性值 为 okay 或者 ok节点使能 两种情况之外就是 【节点不使能】一般是 status disable; __of_get_property 的实现 设备树匹配本质上大部分是字符串的比较。比如 strcmp 函数的大量使用 确认是否存在 status 属性的设备树节点使用 __of_get_property代码如下 /** Find a property with a given name for a given node* and return the value.*/ const void *__of_get_property(const struct device_node *np,const char *name, int *lenp) {struct property *pp __of_find_property(np, name, lenp);return pp ? pp-value : NULL; }发现又套了一层实现函数为 __of_find_property这里 get 改为了 find也就是搜索与查找 功能函数的封装让代码看起来更紧凑代码功能模块化 __of_find_property 的实现最底层的匹配 static struct property *__of_find_property(const struct device_node *np,const char *name, int *lenp) {struct property *pp;if (!np)return NULL;for (pp np-properties; pp; pp pp-next) {if (of_prop_cmp(pp-name, name) 0) {if (lenp)*lenp pp-length;break;}}return pp; }查看代码这里有两个操作 一个设备树节点有多个属性对而每个属性对就是 keyvalue 这样的一般设备树编写时不需要增加【双引号】或者【单引号】毕竟是文本格式处理。 变量设备树的各个属性是个【单链表】然后通过 of_prop_cmp 进行匹配匹配成功就返回【设备树】节点属性的指针匹配失败会返回空指针 of_prop_cmp 的实现 源码位置 include\linux\of.h #define of_prop_cmp(s1, s2) strcmp((s1), (s2))这里就是 字符串比较函数 strcmp比对成功就是返回 0比对失败就返回非0 小结 通过属性设备树节点的基本操作了解到 设备树节点 属性的解析与搜索流程整个实现非常的巧妙编码也非常的精简阅读这样的代码有一种美的享受并且日积月累可以提高代码分析与增强编码能力。 当前的调用关系通过层层封装让每个实现函数看起来都比较的干练与精致。 of_device_is_available - __of_device_is_available - __of_get_property - __of_find_property - of_prop_cmp- strcmp
http://www.pierceye.com/news/34265/

相关文章:

  • 做网站管理系统实时视频网站怎么做
  • 徐州网站建设 徐州网站推广网站开发流程的认识
  • 在线做海报的网站产品宣传方案
  • 白河网站制作台州网站建设咨询薇
  • 地方性小网站的建设资讯网站手机网站模板
  • 建设银行网站打不开用什么浏览器Wordpress做APP后端
  • 即墨区建设局网站超级折扣2WordPress
  • 阿里云备案网站是空的免费图片尺寸在线修改
  • 高端品牌网站设计企业网站建设网站推广初期目标
  • 济宁市兖州区建设局网站wordpress模板修改图片
  • 网站优化大赛家政网站建设方案分析
  • 免费完整版的网站模板成品免费网站源码
  • 专业的集团网站开发费用多少钱柏乡网站建设
  • aspcms 网站搬家上海广告传媒公司一览表
  • 在新西兰做兼职的网站如何做kindle电子书下载网站
  • 可信网站权威性怎么样互联网营销师有必要考吗
  • 阿里云备案网站建设方案书案例电子政务与网站建设方面
  • 南京尘帆网站建设企业网站设计开发
  • 有什么字体设计网站自已电脑做网站服务器
  • 制作微信网站模板wordpress 学习群
  • 免费流量网站推广自己做商城网站 哪种好
  • 网站建设中模板 模板无忧成都企业网站优化
  • 湖南网站建设磐石网络口碑好邯郸网站设计价格
  • 仓山区城乡建设局网站软件仓库
  • 网站制作钱易时代网站
  • 深圳在哪些网站上面做推广专业做包装的电商网站
  • 贵阳经开区建设管理局网站目录搜索引擎有哪些
  • 五大门户网站分别是长春网站制作一般需要多少钱
  • 网站开发需要的软件有哪些推广普通话手抄报内容资料
  • 濮阳网站建设哪里便宜织梦做企业网站教程