0 基于Ubuntu或OpenEuler完成下面的任务(OpenEuler有加分) 1. 选择教材第二章的一节进行编程基础练习(2.10,2.11,2.12,2.13,2.14任选一个) 2. 建立自己的项目目录,包含自己学号信息(如20190100linkedlist),构建项目结构(src, include,bin, lib, docs, test...),然后把相应代码和文档放置到正确位置,用tree命令查看项目结构,提交截图(5分) 3. 进行gcc相关练习(ESc, iso, -I等)提交相关截图(5分) 4. 进行静态库,动态库制作和调用练习,提交相关截图(5分) 5. 进行gdb相关练习,至少包含四种断点的设置,提交相关截图(10分) 6. 编写makefile(5分)
一、二叉树广度优先遍历
广度优先遍历从某个顶点出发,首先访问这个顶点,然后找出这个结点的所有未被访问的邻接点,访问完后再访问这些结点中第一个邻接点的所有结点,重复此方法,直到所有结点都被访问完为止。
二叉树的代码如下:
head.h
BinTree.c
LQueue.c
main.c
项目树:
GCC练习:
输入的指令如下:
产生静态库:
结果产生:
产生动态库:
结果产生:
静态库和动态库的指令过程
GDB测试:
GDB调试的文件不是.c文件,而是编译过的可执行文件。gcc -g 源文件 -o目标文件
调试过程:
设置函数断点、行断点、临时断点等
跟踪测试:
变量查看:
Makefile文件编写: