苏嵌//许婷婷//2018.7.11

苏嵌                                                                                                                              项目实战

学习日志                                     姓名:许婷婷       日期: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)


猜你喜欢

转载自blog.csdn.net/dada12138/article/details/81006138