学习日志 姓名:苏浩 日期:7.12
|
|
今日学习任务
| 1. 回答老师布置的Linux 相关问题 2. 编写4道C语言程序题 |
今日任务完成情况
(详细说明本日任务是否按计划完成,开发的代码量) | 1. 完成问题的答案 2. 完成程序的编写 |
今日开发中出现的问题汇总
| C语言掌握不熟练,编程时非常缓慢,没有什么头绪与思路 |
今日未解决问题
| 无 |
今日开发收获 | 对之前所学知识进行了回顾,加强理解与记忆,还对自己现在的C语言能力有了解 |
自我评价
(是否按开发规范完成既定任务,需要改进的地方,与他人合作效果等)
| 基本完成老师的任务,对自身的不足有更近一步的认识,同时巩固了相关知识 |
其他
| 无 |
1. 是否有无操作系统
2. (1)提供多任务机制(2)提供网络协议(3)提供开源的软件和工具(4)降低软硬件的耦合度
3. (1)应用软件工程师,精通一门语言,熟悉一款操作系统。
(2)系统软件工程师,精通C语言,熟悉汇编,理解操作系统的实现,熟悉硬件工作原理。
(3)硬件工程师,熟练运用设计工具,熟练进行软硬开发调试的能力,熟练调测硬件的能力
4. 嵌入式系统的发展为人工智能的开发,实现提供基础。人工智能中机器学习需要大量有用的数据,大量数据需要云计算进行处理
5. CPU:Central Processing Unit, 中央处理器。GPU:Graphics ProcessingUnit, 图像处理器。DPU:Deep learning Processing Unit, 深度学习处理器。TPU:Tensor Processing Unit,张量处理器
6. 嵌入式操作系统有Linux,WinCE,uClinux,VxWorks等。VXWORKS既是一个操作系统、又是一个可以运行的最小基本程序,有BSP(可以认为是一种低层驱动),可以减小驱动程序的编写过程。Ucossii具有可移植性,系统稳定性与可靠性,以及多任务
7. 计算机系统应该具有的能够在限定的时间内对外来事件作出反应的特性。
8. 嵌入式工程师是未来热门的流行的职业,主要发展方向是在人工智能,大数据,云计算等前沿科技方面
9. Linux的一点哲学:一切均为文件,特点是开放,免费,稳定可靠,容易获得
10. Linux是源码是开放,自由的,unix的源码是受保护的,unix系统互不兼容。
11. 在一台PC机上,可以通过虚拟机实现多个不同的操作系统。主流的虚拟机有VMware和VPC
12. POSIX表示可移植操作系统接口,POSIX标准定义了操作系统应该为应用程序提供的接口标准。GNU计划,GNU is Not Unix。GPL协议,GPL:GNU通用公共许可证(GNU General Public License)
13. Ubuntu, Red Hat Enterprise Linux,OpenSUSE
14. Linux大都为开源自由软件,模块化程度高,安全性和可靠性高,windows大部分为收费软件;由微软官方提供重要支持和服务
15. 普通文件:--,目录文件:d,设备文件:c/b,链接文件:l,管道文件:p,
共享文件:s
16. chmod man ls touch cat rm rm –fgedit gcc ./aout
17. 通过vim/vimrc进行编写配置,Vim Editor, Editor MACroS(宏编辑器)
18. 压缩:tar cvzfxxx.tar.gz 解压:tar xvzf xxx.tar.gz
19. gcc可以编译多种语言,结构灵活以及便携性。Dev C++,Ultimate++ ,Digital Mars
20. 交叉编译器:在当前CPU平台上编译的程序可以在其他CPU平台上运行。因为不同的CPU具有不同的汇编,不同的机器码
21. 预处理:头文件展开,宏替换,条件编译。编译:语法检查,词法分析。
汇编:生成能识别的机器码。链接:符号表的建立
22. 搜索路径不同,<>是在系统的头文件目录搜索,””是先在当前目录寻找,如找不到,再去系统目录寻找
23. –l:指定链接的库。-I :指定第三方搜索路径-w:关闭警告。-Wall:打开警告。-O3:三级优化
24. 库文件:用来保存函数或变量。特点:只能使用函数或变量,但看不见具体实现
25. 静态库.a和动态库.so
26. 静态库:是在执行程序之前就已经加入到执行代码中,成为执行程序的一部分来执行。动态库:是在执行程序启动是加载到代码中。
27. 静态库:gcc –c xxx.c ar rcs xxx.c xxx.o 动态库:gcc –shared –fPIC –o xxx.so xxx.c gcc xxx.c ./xx/so –o xxx
28. gdb 是一个调试工具,功能强大,可以启动被调试的程序,让被调试的程序在指定位置停住
29. run :运行 break :断点 info break :断点信息 continue :跳过当前断点,让程序运行完 finish :让子程序运行完
30. 能够自动识别更新的文件代码并管理项目
31. 目标体:依赖体,命令 从第一行命令开始执行
32. 建立总控,子目录,scripts。总控Makefile:将给个子目录下的.o链接生成可执行文件。 子目录Makefile:将目录下的.c文件编译成.o文件。 Scripts目录下Makefile:相当于c语言中的头文件,定义了一些变量