李相伟2014025676《嵌入式程序设计》第二周学习总结

教材学习内容总结
通过本周的学习,我学会使用gcc编译器、使用GDB调试器和C程序的编写。
在第二周的学习过程中,我进一步学习了vi编译器,还学到了gdb调试器的应用和makefile编译器的用法。
教材学习总结
gcc学习总结
gcc是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Object C等语言编写的程序。
gcc编译流程分为4个步骤:预处理、编译、汇编和连接。
库:函数库一般分为静态库和动态库两种,静态库是一系列的目标文件(.o文件)的归档文件(文件名格式为libname.a),静态库在程序编译时会从中提取出它所需要的目标文件并直接复制到该程序的可执行文件之中;动态库在程序编译时并不会被链接到目录代码中,而是在程序运行时才被载入。
gdb学习总结
gdb定义:gdb是GCC的调试工具。
gdb的四大功能:
1.启动程序,可以按照自定义要求随心所欲的运行程序;
2.可让被调试程序在所指定的调置断点处停住(断点可以是条件表达式);
3.当程序被停住时,可以检查程序中所发生的事;
4.动态改变程序的执行环境。
使用方法:
编译gcc -g test.c -o test
启动gdb:gdb test
查看文件:list
设置断点:b 6 (直接在b后面输入行号就行)
查看断点情况:info b
运行代码:run
查看变量值:p n (直接输入p+变量值就行)
单步运行:n
恢复程序运行:c
makefile编译器学习总结
makefile的定义:Makefile是一种配置文件, Makefile 一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。
通过做实验楼的实验,我对基本操作有了一定的实践和了解。

一开始总是打错,但后来慢慢改正了。

在这遇到了问题,没有某个文件或目录

改正后输出了正确结果
第二个实验是练习Makefile,通过这个实验,我学会Makefile基本规则,熟悉使用make命令的方法并学会使用Makefile程序的编写。

一开始创建目录时出现了错误,显示权限不够,后来加了sudo,问题得到了解决。

因为代码打错出现了错误,及时改正后,可以往下进行实验了。

替换了几次文件之后,熟悉了Makefile命令的使用方法。本周学习收获很多,对Linux下的编译系统有了更系统的了解。
(1)对gcc编译流程有了更深的理解,学会了同时对多个文件的编译。
(2)学会了gdb调试器对C语言的操作,其中可进入循环,查看每个变量在每次循环是的变量值,是一个很实用的技巧。
(3)掌握了makefile的基本工作原理,认识到设置并使用变量对编程效率的重大作用,更深的理解每个自动变量的含义,以及更熟练的使用它们是我还需要加强的地方。
(4)在实验时,对vim的操作和C语言的相关知识做了巩固和复习。
(5)写本篇随笔时,有两个表格都无法生成,只显示代码,我修改了多次,最好发现,用markdown插入表格时,正文下方必须空一行才可以生成表格,标题下方不用空行(插入代码块时也一样)。

posted @ 2017-05-02 15:42  lixiangwei  阅读(229)  评论(0编辑  收藏  举报