2014025658《嵌入式系统程序设计》第二周学习总结

时间:2021-09-01 19:32:45

本周所学内容如下:

1.学会使用gcc编译器;

2.学会使用GDB调试器;

3.学会C程序的编写(包括系统调用和函数调用)

4.学会Makefile基本规则;

5.学会make命令的使用方法;

6.学会使用Makefile程序的编写。

7.使用gcc编译器编译C语言程序文件生成可执行文件的过程,是要经历四个相互关联的步骤:预处理、编译、汇编和链接。

8.gdb是GNU开源组织开发的一个强大的Linux下的程序调试工具,它主要完成:启动被调试程序,按照要求运行程序。让被调试的程序在指定的位置停住。当被调试程序停住时,可以检查被调试的状态和变量的值等内容。动态地改变被调试程序的运行环境等

9.Makefile是用于自动编译和链接的,一个工程有很多文件组成,每一个文件的改变都会导致工程的重新链接,但是不是所有的文件都需要重新编译,Makefile中纪录有文件的信息,在make时会决定在链接的时候需要重新编译哪些文件

本周实验内容如下:

1. 使用vi编辑hello.h、starfun.h、hello.c、star.c四个程序文件:

例如hello.h

2014025658《嵌入式系统程序设计》第二周学习总结

2. 使用gcc编译器,编译程序

2014025658《嵌入式系统程序设计》第二周学习总结

3.使用动态库

4.使用静态库

5. gdb调试器的使用

2014025658《嵌入式系统程序设计》第二周学习总结

6. 编写包含多文件的Makefile

试验中遇到的问题如下:

1.2014025658《嵌入式系统程序设计》第二周学习总结

 

2.运行结果的图形只有一半(如gdb运行图)

3.2014025658《嵌入式系统程序设计》第二周学习总结

 

解决的方法如下:

1.将截图中的3.4行改为

 sudo cp libhello.so /lib  gcc star.c -lhello star.c -o mystar 3.第一个错误及时改正,因为实在/的目录下 所以vi hello.c前面需要加sudo 第二个错误将hello.h打成了hello.c     将stdio打成了hello  

   通过第二次实验楼的实验,我发现做什么事都要细心,不然会浪费很多时间去解决麻烦。