游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

小技巧数据抽象思想在嵌入式中的应用

  在往期文章:什么是不完全类型?中,我们清楚地知道了数据抽象的好处。
  这一篇再一起来看一个简单的小技巧。
  实际项目中,常常会有多个模块协同工作,各个模块之间会相互调用。
  两种声明方法:
  一种是在把对外提供的接口在本模块头文件中声明,其它模块需要调用时包含这个头文件就可以。另一种是调用者在调用之前使用extern进行声明。
  我比较倾向于第一种方法,严格把只在本模块文件中使用的函数使用static声明,供外部使用的函数在头文件里声明,调用者直接包含头文件就可以调用。而不用自己使用extern进行声明,extern的方法我常常会临时使用一下。
  特别的,有时候需要把本模块编译为动态库给他人使用,这时候更是要多花功夫在头文件上,把供外部使用的函数放在头文件中。因为最终提供的是动态库文件与头文件,别人看不到你的源码。
  下面我们先简单看看数据抽象的概念:
  数据抽象是一种仅向用户暴露接口而把具体的实现细节隐藏起来的机制。一个简单的C例子如:
  test。cpp:includeiostreamusingnamespacestd;classtest{public:构造函数test(intx0){ax;}对外的接口voidseta(intx){ax;}对外的接口intgeta(){returna;};private:对外隐藏的数据inta;};intmain(void){testa;a。seta(100);coutaa。geta()endl;return0;}
  在C语言中,上面我们提到了使用extern的方法声明函数。同样的,对于全局变量,也有使用extern的方法来声明。如:
  a。c:inta0;
  b。c:externinta;intba;a100;
  我们在a。c中定义了一个全局变量a,在b。c中使用变量a之前前,先用extern对a进行声明。
  对于这个小例子,有更好的方法,即面向对象数据抽象的思想:
  a。c:inta0;intgeta(void){returna;}voidseta(intx){ax;}
  a。h:intgeta(void);voidseta(intx);
  b。c:intbgeta();seta(100);
  这样我们在b。c中就不用直接操作变量a,而是通过a提供的函数接口来操作。这样,b模块作为调用者,只要遵守了a模块要求调用的函数,哪怕后续a模块里面的内容有修改时,b模块可以不用修改就可以正常使用。这个小例子只是简单介绍了这种小技巧。
  在实际项目中的使用场景可能是这样的:假设a模块是对传感器的处理,b模块是传感器数据使用者,后面换相同类型传感器的时候,a模块负责进行适配,b模块作为调用者,不用担心换传感器而需要做大改动。
  猜你喜欢:
  例说嵌入式实用知识之JSON数据
  STM32如何收发float类型数据?
  实用如何远程登录开发板?
  手头上无LCD却又急着开发UI?LCD模拟器了解一下
  1024G嵌入式资源大放送!包括但不限于CC、单片机、Linux等。私信回复1024,即可免费获取!

为什么总有人说别人用单反拍的照片,不如自己手机拍的好看?谢谢主题,拍摄这个问题没有一个统一的标准,每个人都有各自的技能技巧,欣赏作品的人对好与坏的标准不一样,只对手中摄影器材的了解与使用的技能掌握的程度不同,不是摄影器材就可以决定作……AppleCarPlay车型指南600多款车型可供选择(附列Apple的电话车辆接口使您汽车的信息娱乐系统几乎过时了。全球主要汽车制造商目前均已推出或即将推出支持CarPlay车载的车型。如果您和我们一样,您的汽车和iPhone是……为什么realme的充电宝那么便宜,质量靠谱吗?靠谱恰恰我现在就有一个realme的充电宝,原来一直用的是小米的充电宝,因为买的早,只有MicroUSB接口没有TypeC接口。每次给充电宝充电还要另外准备一根Micro……华星光电屏骁龙778G,小米CC11Pro配置曝光中关村在线消息:据博主熊猫很秃然爆料,小米CC11Pro部分配置信息曝光。入网信息照片显示,小米CC11Pro外观与小米11青春版类似,此系列将有小米CC11和小米CC11Pr……金融投资为什么说穷人死于p2p,中产死于理财,富豪死于信托?最近这几年,金融投资已经成为危险的游戏,穷人、中产和富豪惨遭收割,他们的死法虽然不同,死因却相同。批量收割穷人的p2p。穷人最大的烦恼是囊中羞涩、致富无门,穷人的毛……鸿海印尼电动车投资总额80亿美元,今年将推出两款电动车品玩2月10日讯,据经济日报报道,鸿海2月10日举行开工日,鸿海董事长刘扬伟表示,关于印尼电动车生态链的投资,总投资额是80亿美元。鸿海于今年1月底与印尼投资部、印尼电池公司(……三星公布超透镜技术,跟手机摄像头凸起说拜拜不知道大家发现这个现象没,就是近些年来大部分手机厂商都致力于在机身正面做文章,更小的屏幕开孔、更窄的机身边框都是他们所追求的。机身背面就是厂商用来制造差异化的,他们从机身材质、……卷一下线收好贴一下就来电,绿联新款Magsafe磁吸无线充不去年苹果发布会上发布的MagSafe磁吸充电器再次点燃了大家对无线充的热情。随着无线充电技术的日趋成熟,不少第三方品牌也推出了众多定制化无线充电器。比如更专业更安心的数码品牌U……小米手机自带天气预报日历等APP广告频出太烦人这是天气预报进入界面小米手机不应把广告捆绑在手机里,因为我们买的是正品行货手机,使用的也应该是无任何广告的,干干净净的正规APP。但是,你们出品的手机里自带的如天气预报、……为什么有的浏览器只有几M,如夸克,而有的就几百M,如qq,其轻的,内核肯定不是自研的,调用系统默认浏览器内核,而你下载的只是个壳,这个壳起到两个作用:1。带了一套UI,让我的浏览器好看。2。告诉程序调起系统浏览器并且使用哪些功能(功能有……35项高科技领域卡脖子产品光刻机制造芯片的光刻机,其精度决定了芯片性能的上限;我国最尖端的上海微电子公司光刻机加工精度为90纳米,荷兰ASML公司的光刻机,其加工精度为5纳米,仍有很大差距。……手机办公APP选择哪款效率比较高?为大家安利几个移动办公入门级软件:从信息收集到文字编辑,一应俱全。收趣:云收藏夹,稍后阅读收趣被称为为国人量身定制的稍后阅读神器。下载了N多内容类的软件,看到好文章,想收藏下来……
如何看待小度智能巨屏电视V86,小度智能屏电视V86值得入手自2018年小度在家正式发布之后,并且在智能音箱和智能屏市场的领先地位确立之后,小度开始将目光投向了耳机、教育、手机领域等诸多赛道。但纵观小度的产品,不管是面向学生的智能学习平……北美电影票房Top10至10月26日,沙丘大卖,天赐良机扑街文Leon本文为原创,转载请注明出处。大家好,我是小李子,欢迎收看本周北美电影票房排行榜,本期榜单覆盖时间为10月22日至24日。本周北美影市依然high得不能行,共有3……推进智美成都建设,华为蓉城智能体人工智能高峰论坛成功举办数字经济时代,云、5G、AI、大数据、人工智能等新技术正在重构社会生产要素和生产关系,成都迎来重大发展机遇。10月28日,以智美蓉城进而有为为主题的华为成都城市峰会2020在成……中德混血的思皓QX,值不值得再等等种一棵树生长好的时间是十年前,其次是现在。众所周知,作为持续畅销的热门细分市场,紧凑SUV几乎已成为各大汽车品牌的兵家必争之地,其战略性意义不言而喻;然而,面对诸如哈弗H……小米有品功耗小钢炮,新一级能效省电29,90后上班族买就对了有一种冷叫妈妈觉得你冷。每到炎热的夏天,恨不得要将家里的老空调调到18C,但奈何家里的财政大神(我妈)为了省电,每次都给我和我爸灌输节约能源的意识,夏天的我们基本上不是手上各自……上海车展丨你想看的中大型SUV恐怕都在这,各个都是实力派4月19日,2021年上海车展如期举办,作为国内乃至全球的大型车展之一,其规模毋庸置疑。无论海外车企还是自主品牌车企,都拿出了自家的最新产品,以求在上海车展获得关注度。国产阵营……四川男生丢脸了,顶级数学竞赛女生获奖率80且获唯一金奖成都七中高三女同学拿下顶级数学竞赛唯一金奖。阴盛阳衰,参赛5人就有4人获奖,并得到唯一一枚金牌,四川的女生比男生还牛。2021年首届丘成桐女子中学生数学竞赛颁奖仪式在清华……今晚零点开售!RedmiK40这次货源不足,手速要快想念我的奶茶、想念我的电影、想念我的炸薯条,相信还在上班的你,亦是这样的想法吧?其实在家里,还是喜欢把王者、吃鸡成为了我们在家解闷的最好伴侣,《和平精英》一上线就接连玩好……性价比之神HAKIISWIFT游侠评测前言:提起HAKII耳机,可能大家不是很熟悉,但是说起HAVIT大家应该都听说过,这是一家有着20多年历史的老牌科技公司,HAKII前身是海威特H系列,HAKII为了更好……走!去新疆旅行拼个镜头?拼酒店、拼名牌包、拼宝格丽下午茶。。。。。。。上海名媛果真是共享经济学的研究生某博主潜入阵营以为是刘姥姥进大院能立个牌面结果全是名媛姐妹花钱拼购的一场大……品质生活不将就华为黑科技音箱引领青年潮流新风向五一假期与青年节来临,相信多数人会选择在家休息,只是,宅家是否就意味着会度过一个无趣的小长假呢?当然不是!无论身处何时何地,那颗年轻的心在品质生活上从来不将就,宅家也要宅出精彩……边缘计算通过智能农业重塑农业部门边缘计算如何塑造农业的未来?数字化转型时代的边缘计算正在许多行业中慢慢获得动力。预计到2025年将达到75左右。边缘计算被包括农业在内的许多行业采用。这项技术正在帮助通过……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网