日志/周文东/7月11日

苏嵌 项目实战

学习日志                 姓名:周文东 日期:7月11日

 

 

 

 

今日学习任务

 

1.了解调试器gdb;(基本调试操作,段错误如何调试)

2.了解项目管理的方法及重要性;(项目代码目录结构)

3.熟练掌握makefile基本语法的使用;(目标、依赖、命令)

4.企业级makefile的编丐;(迭代开发)

5.了解git/github的使用;(学会管理代码)

今日任务完成情况

 

(详细说明本日任务是否按计划完成,开发的代码量)

其中第4点和第5点不作要求,自学。

1点我已经熟练地掌握了,创建一个源文件test.c1.gcc -g test.c -o test2.gdb test,然后在里面输入run,list,break,infobreak,delete,next等指令。

2点也详细了解了项目管理的方法和重要性。

3点我也基本熟练掌握makefilejiben语法使用,makefile三要素:目标体,依赖体,命令。了解使用总控的Makefile,子目录下的Makefilescripts目录下的Makefile

今日开发中出现的问题汇总

 

我在进行调试器gdb段错误调试中遇到了一些问题,产生段错误,没有权限。

之后,我先利用gdb逐步查找段错误,通过对文件进行调试,段错误时启动调试程序,我上网查了一下,用backtraceobjdump分析,最终解决了问题。

 

今日未解决问题

 

对于makefile语法还没有完全熟练,看makefile代码还没完全搞懂,所以要多加练习。

今日开发收获

今天主要学习了调试器gdbmakefile语法的使用,用makefile编译会更快更准确,学到基本的linux操作系统精髓的东西。

 

自我评价

 

(是否按开发规范完成既定任务,需要改进的地方,与他人合作效果等)

 

 

基本完成既定任务,同时坐我旁边的同学也帮助我很多,我们也是共同进步,继续完善。

其他

 

scriptsMakefile

  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 += add sub mul div main

  8 AllObjs := $(addsuffix /src/*.o,$(Modules))

主控Makefile

  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)

子目录Makefile

  1 include ../scripts/Makefile

  2

  3 all : $(Objs)

  4

  5 clean :

  6         rm -rf $(Objs)

子目录为加减乘除的简单函数;

主函数为输出一组加减乘除值

文件排布:

.

|-- Makefile

|-- add

|   |-- Makefile

|   `-- src

|       |-- add.c

|       `-- add.o

|-- client

|-- div

|   |-- Makefile

|   `-- src

|       |-- div.c

|       `-- div.o

|-- main

|   |-- Makefile

|   `-- src

|       |-- main.c

|       `-- main.o

|-- mul

|   |-- Makefile

|   `-- src

|       |-- mul.c

|       `-- mul.o

|-- scripts

|   `-- Makefile

`-- sub

    |-- Makefile

    `-- src

        |-- sub.c

        `-- sub.o

猜你喜欢

转载自blog.csdn.net/qq_42664422/article/details/81005386
今日推荐