您的位置:首页 > 大数据 > 物联网

物联网苏嵌实训第5天

2020-07-14 06:33 274 查看
项目名称 苏嵌实训-嵌入式 LinuxC 第5天
今日进度以及任务 今天主要还是学习了C语言,上午学习了字符串以及函数相关的知识,下午又学习了内存以及关键字相关的知识,收获蛮大的,无论是从代码的规范程度上,还是思路上。相比而言,今天的进度还是比较慢的,留给我们足够多的时间进行思考和反思,所以吸收起来还是没有问题的。
本日任务完成情况 今天的任务:1.free是如何知道要释放多少空间的:系统在分配内存时除了分配指定的内存空间外,还有分配用于保存内存空间大小等信息。所以内存释放时不再需要再指定释放多大的内存空间,只需要指定该块内存空间的首地址即可。2static在什么样的情况下使用 一、局部静态变量 static局部变量的”记忆性”与生存期的”全局性” 利用”记忆性”, 记录函数调用的次数,利用生存期的”全局性”, 改善”return a pointer / reference to a local object”的问题. Local object的问题在于退出函数, 生存期即结束,. 利用static的作用, 延长变量的生存期.二、外部静态变量函数在C中static有了另外一种含义:用来表示不能被其他文件訪问的全局变量和函数。, 但为了限制全局变量/函数的作用域, 函数或变量前加static使得函数成为静态函数。但此处“static”的含义不是指存储方式,而是指对函数的作用域仅局限于本文件(所以又称内部函数)。注意此时, 对于外部(全局)变量, 不论是否有static限制, 它的存储区域都是在静态存储区, 生存期都是全局的. 此时的static仅仅是起作用域限制作用, 限定作用域在本模块(文件)内部.使用内部函数的优点是:不同的人编写不同的函数时,不用操心自定义的函数,是否会与其他文件里的函数同名。3为什么使用typedef给类型重命名 就是为了让在不同使用环境下让数据类型变得有“具体含义”例如一个struct结构,你定义后,命名为cola。假设你定义了两个类使用它,这两个类分别是Mcdonal(麦当劳)和KFC(肯德基)。你发现这个概念太笼统,于是,在Mcdonal这个类里面,你用typedef定义为coco-cola;在KFC这个类里面,你typedef重定义为pesi-cola。 linux内核中,很多很复杂的“结构”,例如内存结构描述符,进程结构描述符,但它们也会有类似上面那种情况,需要用在不同的背景下;因此,经常使用typedef重命名。
本日开发中出现的问题汇总 今天还是在使用centos上出了问题,就是找不到指定的虚拟机文件,解决办法就是在虚拟机文件中删除.lck后缀的文件即可。
本日未解决问题 今天的问题基本都解决了,没有什么要留到明天解决的事情。
本日开发收获 几天收获还是很大的,最想说的就是在代码编写时应注意规范,先打好一个框架,再去实现你所用的函数,这对我来说,真的是醍醐灌顶,因为我以前写代码还是有点思路,但要写的时候就容易出各种错,先把函数写好,在写main,发现其实有的函数写的都用不到,或者还要改很多,总之,写着写着就成一团乱麻了,看到老师编程之后,问我才意识到思维结构,编码规范对写好代码,提高效率,与代码质量的帮助这么大。从现在开始就要改正了。
其他 生活中唯一真正的安全感来源于:知道自己每天都在以某种方式进步!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: