学习日志 姓名: 张朋 日期:2018年7月11日
|
|
今日学习任务
| 1、 了解调试器gdb;(基本调试操作,段错误如何调试) 2、 了解项目管理的方法及重要性;(项目代码目录结构) 3、 熟悉掌握makefile基本语法的使用;(目标、依赖、命令) |
今日任务完成情况
(详细说明本日任务是否按计划完成,开发的代码量) | 今日任务按计划完成。 1、 了解了调试器gdb的相关知识; 2、 学会了怎么进行程序的调试; 3、 懂得了如何编写makefile; 4、 知道了怎么更好的进行代码的管理,明白了项目管理的基本方法。 |
今日开发中出现的问题汇总
| 1、 怎么使用list命令让代码显示完整 |
今日未解决问题
| 1、怎么使用list命令让代码不只显示一次 |
今日开发收获 | 懂得了gcc相关的知识,明白了Linux的特点,同时掌握了一些Linux的常用命令,懂得了源文件到可执行文件经历的几个步骤以及这些步骤下对应的相关工作。 |
自我评价
(是否按开发规范完成既定任务,需要改进的地方,与他人合作效果等)
| 今天可以跟上老师的步骤,课后还是需要花大量的时间进行练习,才可以巩固好这些知识,不然明天会忘记很多老师讲的内容,总的来说可以跟上老师的教学进程,但是还需要进一步的进行自我的提高,尤其是在听课注意力方面。 |
其他
| 无 |
scripts目录下的Makefile(相当于C语言中的头文件,定义了一些变量)
1 CC := gcc
2 CFLAGS := -Wall -O3
3 Libs = -lpthread
4 Target := client
5 Source := $(wildcard src/*.c)
6 Objs := $(patsubst %.c,%.o,$(Source))
7 Modules += main sub add mul div
8 AllObjs := $(addsuffix /src/*.o,$(Modules))
总控Makefile(将各个子目录下的.o文件链接生成可执行文件)
1 include scripts/Makefile
2
3 modules_make = $(MAKE) -C $(1);
4 modules_clean = $(MAKE) clean -C $(1);
5
6 .PHONY: all mm mc clean
7
8 all: $(Target)
9
10 mm:
11 @ $(foreach n,$(Modules),$(call modules_make,$(n)))
12 mc:
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
19 clean : mc
20 rm -rf $(Target)
21 @ echo clean done!
子目 1 include ../scripts/Makefile
2
3 all : $(Objs)
4
5 clean :
6 rm -rf $(Objs)
7
8
9
子目录下的Makefile(将目录下的.c文件编译成.o文件)
1 include ../scripts/Makefile
2
3 all : $(Objs)
4
5 clean :
6 rm -rf $(Objs)
7
8
9