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

物联网苏嵌实训

2020-07-14 06:33 260 查看
项目名称 苏嵌实训-嵌入式 LinuxC 第二天
今日进度以及任务 今天又是信息量极大的一天,说实话,老师的上课速度还是很快的,我第一次接触Linux和虚拟机,跟上老师的速度与语速还是有点心力不足,但是由于课程有回放,放心课下多下点功夫应该还是可以跟上的。今天主要讲了Linux 开发工具-gcc,gdb,make,感觉都特别的实用,虽然自己还没有完全吸收,但我相信接下来我会非常好的运用他们。今天布置的三个任务有:1编译器三级优化分别优化什么 2总结gcc静态库与动态库的使用 3总结cmake的用法
本日任务完成情况 今天任务基本完成了,针对上面的问题,答案如下:1第一级:代码调整代码调整是一种局部的思维方式;基本上不触及算法层级;它面向的是代码,而不是问题; 所以:语句调整,用汇编重写、指令调整、换一种语言实现、换一个编译器、循环展开、参数传递优化等都属于这一级;这个级别的优化需要掌握大量的小的优化技巧和知识,需要不断的积累;简单的语句调整、公共表达式提取、废代码删除等当前的很多编译器也能做到了,但也需要了解一些编译器的优化能力使自己的代码配合编译器做好优化;第二级:新的视角新的视角强调的重点是针对问题的算法;即选择和构造适合于问题的算法;(冒泡排序还是快排的选择问题是这一级早就应该完成的)很多经典算法都对问题作了一些假设(包括我们当前已经完成的算法实现),而在面对实际问题时“新的视角”提示我们应该重新检视这些假设,并尝试不同的思考问题的角度,寻求适合于问题的新算法;发掘问题的本来意义,从不同的角度思考面对的问题,使用适合于问题的的算法; 尝试打破一些规则,发掘和怀疑自己的某些假定,恢复问题的本来面目;第三级:表驱动状态机将问题抽象为另一种等价的数学模型或假想机器模型,比如构造出某种表驱动状态机;这一级其实是第二级的延伸,只是产生的效果更加明显,但它有其本身的特点(任何算法和优化活动都可以看作是他的投影);这一级一般可以产生无与伦比的快速程序, 要达到这一级需要大量修炼的;并且思考时必须放弃很多已有的概念或者这些概念不再重要,比如:变量、指针、空间、函数、对象等,剩下的只应该是那个表驱动状态机; 我想把这种境界描述为:空寂中,一些输入驱动着一个带有状态的机器按设定好的最短路线运转着;除此之外have nothing; 既:把解决一个问题的算法看作一个机器,它有一些可变的状态、有一些记忆、有一些按状态运行的规则,然后一些输入驱动这个机器运转;这就是第三级要求的思考优化问题的切入点,也就是寻找一部机器,使它运行经过的路径最短(可能是速度也可能是空间等等)2****3步骤如下
本日开发中出现的问题 就是在装在cmake的时候遇到了一些问题,还有就是由于对指令的不熟,经常会由于字符的大错,记错了键盘的使用方法而造成很多问题,就有点不值了,所以平时细心,熟悉也很重要。
本日未解决问题 就是对cmake的使用还很不熟,希望通过明天的课程可以更好的理解
本日开发收获 收获当然是很大的,学习了以前从未接触的东西,所以每天都在汲取知识,对Linux操作系统的使用更熟悉了,打破了完完全全小白的境界。
其他 其他还是谈点在家学习的情况,在家当然不会在学校那么心无旁骛,专心致志的学习,但是我会坚持到最后,不为别的,就为打破心里的那分迷茫,充实自己。半山腰太挤了,谁不想到山顶望远呢!

具体步骤如下:
创建静态库:
1.gcc -c 源文件.c

2.ar rcs 静态库名 目标文件1 目标文件2…

3. rc 静态库不存在就创建该库文件

4. 更新库文件
创建动态库:
gcc -shared -fPIC -o库名.so 源文件.c

3.总结Cmake的用法
其实在网上有很多cmake详细的教程,在这里我能提供的帮助就是,一点小建议,补充一下在网上不能解决的问题的我的解法:就是在使用指令下载cmake压缩包的时候,会出现找不到网址的情形,这时候可以通过网站下载安装包,之后复制解压就行。
就是在指令行执行

剩下自己百度是没有问题,这是最好的证明。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: