苏嵌//张福辉//2018.7.11

苏嵌                                                                                                                                            项目实战

学习日志                                          姓名:张福辉                        日期:2018.7.11

 

 

今日学习任务

 

1、 了解项目管理的方法及重要性; (项目代码目录结构) 
2、 熟练掌握makefile 基本语法的使用; (目标、依赖、命令) 
3、 企业级makefile的编写; (迭代开发) 

今日任务完成情况

 

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

 今日任务全部完成

1.掌握了gdb的使用

2.掌握了makefile的使用

3.掌握了企业级makefile的编写

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

 

 1.gdb调试时list只能看一次

 

今日未解决问题

 

 无

今日开发收获

 1.掌握了gdb调试器的使用

2.学会了makefile的使用和企业级makefile的编写

 

自我评价

 

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

 

 能够按规范完成既定任务

其他

 

 无

 企业级makefile Demo:

文件排布:

.
|-- 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

scripts的Makefile

  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)

子目录为加减乘除的简单函数,主函数为输出一组加减乘除值


猜你喜欢

转载自blog.csdn.net/qq_36901484/article/details/81005126