学习日志 姓名:许婷婷 日期:7.11
|
|
今日学习任务
|
1、了解调试器 gdb;(基本调试操作,段错误如何调试) 2、了解项目管理的方法及重要性;(项目代码目录结构) 3、熟练掌握 makefile 基本语法的使用;(目标、依赖、命令) 4、企业级 makefile 的编写;(迭代开发) |
今日任务完成情况
|
1、学习了程序调试工具gdb的基本功能。 2、学习了gdb的基本操作指令以及如何进行调试。 3、熟悉了makefile的基本语法(makefile的三要素)。 4、通过完成的makefile文件熟悉了企业makefile的编写。 5、学习自己编写makefile。 |
今日开发中出现的问题汇总
|
Mikefile的编写并不熟练,需要对照笔记编写。 |
今日未解决问题
|
无 |
今日开发收获 |
今日主要学习了gdb程序调试工具和makefile文件的编写,基本上掌握了gdb的基本调试操作和makefile的编写。 |
自我评价
|
达到学习任务,学习了gbd程序调试工具的使用与makefile文件的编写,可以跟上老师的教学节奏。 |
其他
|
无 |
script目录下的makefile
1CC := gcc
2CFLAGS := -Wall -O3
3Libs = -lpthread
4Target := cal
5Source := $(wildcard src/*.c)
6Objs := $(patsubst %.c,%.o,$(Source))
7Modules += mul add sub div main
8AllObjs := $(addsuffix /src/*.o,$(Modules))
总控makefile
1include scripts/Makefile
2
3modules_make = $(MAKE) -C $(1);
4modules_clean = $(MAKE) clean -C $(1);
5
6.PHONY: all mm mc clean
7
8all: $(Target)
9
10mm:
11 @ $(foreach n,$(Modules),$(call modules_make,$(n)))
12mc:
13 @ $(foreach n,$(Modules),$(call modules_clean,$(n)))
14
15$(Target) : mm
16 $(CC) $(CFLAGS) -o $(Target) $(AllObjs)$(Libs)
17 @ echo $(Target) make done!
18
19clean : mc
20 rm -rf $(Target)
21 @ echo clean done!
子目录的makefile
1include ../scripts/Makefile
2
3all : $(Objs)
4
5clean :
6 rm -rf $(Objs)