苏嵌//王敏//2018.7.11

学习日志                                   姓名:王敏   日期:2018.7.11

 

 

 

 

今日学习任务

 

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

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

3企业级 makefile 的编写;(迭代开发)

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

今日任务完成情况

 

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

课上老师让完成的代码已经写完;相关指令也有了一定了解及使用

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

 

首先C语言就不是很熟悉,编写代码的问题挺大的;然后对于一些指令也使用还不太熟练,将目录和文件搞混

 

 

今日未解决问题

 

 

今日开发收获

学习了用gdb调试;

学习了如何编写makefilemakefile语法三要素:目标体,依赖体,命令)以及企业级makefile;

 

 

自我评价

 

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

 

 

今天学习进度还是有点紧张的,光听一遍还不能完全理解,在自己操作时还有部分细节不记得

其他

 


#include<stdio.h>
int fuction(int a )
{
    return a*a;
}
int main()
{
    int i;
    int sum=0;
    for(i=0;i<=100;i++)
    {
        sum = sum + i;
    }
    int result = fuction(3);
    printf("result = %d\n",result);
    printf("sum = %d\n",sum);
    return 0;
}

#include<stdio.h>
int main()
{
    printf("add = %d\n",add(6,3));
    printf("sub = %d\n",sub(6,3));
    printf("mul = %d\n",mul(6,3));
    printf("div = %d\n",div(6,3));
    return 0;
}
    int add(int a, int b)
{
    return a + b;

}

int sub(int a, int b)
{
    return a - b;

}

int mul(int a, int b)
{
    return a * b;

}

int div(int a, int b)
{
    return a / b;

}


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)

猜你喜欢

转载自blog.csdn.net/wm15195890150/article/details/81006452