|
|
今日学习任务
| 1、辅导老师完成学习内容答疑 2、3小时完成c语言摸底测试 |
今日任务完成情况
(详细说明本日任务是否按计划完成,开发的代码量) | 1、完成了答疑的31条题目 2、将四个c语言编程题,编写完成 |
今日开发中出现的问题汇总
|
1、在做答疑题目的时候,发现有一些小的知识点并没有记得很清楚,很多知识还需要加强巩固 2、下午的编程题花的时间比较久,有的函数的使用还不是很熟练 |
今日未解决问题
| 无 |
今日开发收获 |
将前几天学的知识进行了巩固 |
自我评价
(是否按开发规范完成既定任务,需要改进的地方,与他人合作效果等)
|
还需加强对c语言的了解,基础打得不够扎实 |
其他
| 嵌入式 Linux 开发工具篇问题整理 苏嵌老梁 1、 嵌入式开发与传统开发的区别?(同类问题:单片机开发与嵌入式开发的区别) 答:是否有无操作系统 2、 移植操作系统的好处有哪些? 答:提供了多任务机制、提供网络协议栈、提供了开元软件和工具 3、 嵌入式工程师的岗位划分有哪些?所具备的能力是什么? 答:应用软件和系统软件;应用软件所具备的技能:精通一门语言、熟悉一款操作系统;系统软件所具备的技能:精通c语言、熟悉汇编、理解操作系统的实现、熟悉硬件的工作原理 4、 人工智能和嵌入式之间有什么关系?人工智能和大数据、云计算的关系? 答:人工智能是指机器具备人的思维到机器学习再到深度学习;大数据和云计算主要是在机器学习这一过程,大数据的作用主要是:筛选数据,分析数据;云计算的作用就是处理 5、 CPU、GPU、DPU、TPU 分别是什么? 答:CPU:中央处理器;GPU:图形处理器;DPU:分段处理单元;TPU:高性能处理器 6、 嵌入式操作系统有哪些?vxwork 的特点?ucossii 的特点? 答:Vxwork、ucossii、Redhat;vxwork它既是一个操作系统,又是一个可以运行的最基本的小程序、可以提供可移植的工具、不开放源码;ucossii具有很好的开元性和可移植性 7、 什么是实时性?哪些操作系统具有实时性? 答:在规定的时间内完成规定的动作;Vxworks、Linux 8、 嵌入式的就业前景和以后的发展方向如何? 答:就业前景良好;例如Linux就应用于很多方面,我们现在很多软件都是用的Linux内核,并且军工,航空航天,网络等都需要 有很多热门的领域都需要这方面的人才,例如人工智能智能产品开发等都需要 9、 Linux 操作系统有哪些特点? 答:开放性、多用户、出色的速度技能、良好的用户界面、提供了丰富的网络功能、良好的可移植性、具有标准的兼容性 10、 Linux 和 unix 操作系统的区别? 答:Linux是开元代码的自由软件,Unix是对源代码不公开,并且进行保护的一个商业软件 11、 虚拟机的作用是什么?主流的虚拟机有哪些? 答:在本地pc机上建立一个或多个虚拟的计算机,来进行工作;VMware和VPC 12、 分别阐述 POSIX、GNU、GPL 的理解? 答:POSIX表示可移植操作系统接口,他是一个针对操作系统的标准化协议 GNU:全称是GNU is not unix,是一个完全自由的操作系统 GPL:是GNU的通用公开许可证 13、 Linux 发行版有哪些?各自的特点是什么? 答:Redhat、CentOS;Redhat适用人群数量大、资料非常多;CentOS是稳定性非常好 14、 Linux 和windows 的区别? 答:Linux是一个多用户、多任务网络操作系统;windows是直观、高效的面向对象的图形用户界面
15、 Linux 文件类型有哪些? 答:普通文件、目标文件、设备文件、链接文件;特殊文件又分为:管道文件、共享文件、堆栈文件 16、 罗列 Linux 下文件操作的命令有哪些?(常见面试命令) 答:创建文件:touch;查看文件内容:cat;删除文件:rm -f;chmod是修改权限的;执行文件:gcc hello.c ./a.out;复制文件:cp;存放设备文件:dev;存放配置:etc;剪切文件和重命名文件:mv; 17、 如何配置 vim 编辑器?Linux 下还有哪些比较常用的文本编辑器? 答:用vi编辑器创建源程序文件,进vi编辑器后输入i进入文本编辑模式;编写代码; 用“:wq”保存文件并退出vi;用gcc编译连接;运行; 常用的文本编辑器:gedit 18、如何压缩、解压文件?命令是什么? 答:压缩文件:tar cvzf hello.tar.gz hello.c;解压文件:tar xvzf hello.tar.gz;如果要解压到哪个具体的路径下:tar xvzf hello.tar.gz -c kk 18、 gcc 编译器的优点有哪些?还知道哪些 C 的编译器? 答:适合于开源软件,跨体系结构很多;Clang 19、 什么是交叉编译器?交叉编译器的作用?为什么需要交叉编译? 答:在一个平台上编译出来,再另一个平台上运行的软件代码; 能够实现在一个平台上编译出来,再另一个平台上运行的软件代码; 因为不同的cpu有不同的汇编,不同的汇编有不同的机器码; 20、 C 语言中源文件到可执行文件经历哪几个步骤?每个步骤具体做哪些工作? 答:预处理、编译、汇编、链接; 预处理做的工作:头文件展开、宏替换、条件编译;编译做的工作:语法分析、词法分析;汇编阶段做的工作:把编译阶段生成的”.s”文件转成二进制目标代码. 选项 -c,将.s输出为.o文件;链接阶段做的工作:讲.o 文件链接成最终可执行文件 21、 #include <stdio.h> 和 #include “stdio.h”的区别? 答:他们两最主要的区别是改变搜索路径;<>的头文件目录是在系统的头文件目录搜索;””是在当前的目录搜索,如果找不到,再到系统的目录下去找; 22、 分别阐述-I -w -Wall -O3 的作用? 答:-I是指定头文件的第三方搜索路径;-w是消除警告;-wall是显示所有警告;-O3是进行3级优化 23、 什么是库文件?库文件的特点? 答:用来保存函数或者变量,只能使用函数或者变量,但是看不到具体实现; 24、 Linux 下库文件的分类有哪些?库文件的存放路径是什么? 答:动态链接库、静态链接库;动态链接库以.so结尾;静态链接库以.a结尾 25、 静态库和动态库的区别? 答:静态库:是在执行程序之前就已经加入到执行代码中,成为执行程序的一部分来执行;并且他升级难、可执行文件过大、执行速度快、易于代码部署 动态库:是在执行启动时加入到执行到执行代码中;并且他易于升级、执行速度慢、不易于代码部署 26、 如何制作和使用静态库和动态库? 答:创建静态库;gcc -c 源文件.c,然后ar rcs libadd.a add.o,(add 是库的名字),再然后gcc main.c -ladd -L(-l是指定哪个库,-L是指定到哪个地方找这个库) 创建动态库:gcc -shared -fPIC -o 库名.so 源文件.c,然后使用gcc 源文件.c ./库名.so -o 可执行文件名 27、 GDB 的特点有哪些? 答:gdb是GNU发布的一款功能强大的程序调试软件 能够启动被调试程序,让被调试程序在指定的位置停住,当程序被停住时,可以检查程序状态一变量值
28、 分别阐述 run break info break continue finish 命令的作用? 答:run:运行;break:指定在哪一行停住;info break:查断点编号;continue:是指跳过第一断点,如果有两个断点,那他进入第二个断点;finish:如果断点在子函数中,是让子函数运行结束 29、 make 工程管理的作用? 答:一键编译 30、 makefile 的语法是什么?(定义、执行顺序) 答:他的三要素是:目标体、依赖体、命令;执行顺序是从第一行开始执行;并且在写命令的时候必须先按Tab键;执行一个命令最终会生成目标体。 31、 企业级工程目录是如何创建?分别描述三个不同 makefile 的作用? 答:利用tree这个命令,让所有的目录以树状型显示; 3类makefile:1、总控的Makefile:将各个子目录下的.o链接生成可执行文件 2、子目录下的makefile:将目录下的.c文件编译成.o文件 3、Scripts目录下的Makefile:相当于c语言中的头文件,定义了一些变量
|
苏嵌//季宇晨//7.12
最新推荐文章于 2023-07-14 20:05:07 发布