0
点赞
收藏
分享

微信扫一扫

Linux下多文件编译运行

山竹山竹px 2022-02-23 阅读 60

目录

序言

make和Makefile

  • make 是一条命令
  • Makefile 是一个文件

多文件编译

创建多个文件

touch main.c mytest.c mytest.h

在这里插入图片描述

编写mytest.h

   #ifndef __MYTEST_H__          //#ifndef __MYTEST_H__这个先把=不用管
   #define __MYTEST_H__  
   #include <stdio.h>
   
   void show();     
                                                           
   #endif

编写mytest.c

#include "mytest.h"
void show()
{
    int i = 0;
    for(;i<10;i++)
    {
    printf("%d ",i);
    }
    printf("\n");                                                          
}

编写main.c

#include "mytest.h"
int main()
{
  show();                                                                
  return 0;
}

Makefile/makefile文件

创建

touch Makefile

基础

编写一

mybin: main.c mytest.c
	gcc main.c mytest.c -o mybin  

在这里插入图片描述

我们首先要知道一点:一个Makefile文件存在下面的东西,缺一不可

  • 依赖关系
  • 依赖方法

在这里插入图片描述

成果一

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

进阶

进阶一

gcc $^ -o $@

在这里插入图片描述

我们在这里看到了 冒号,这是一个很关键的东西

                目标文件 :依赖文件
  • 冒号左边 目标文件 也就是 $@
  • 冒号左边 依赖文件 也就是 $^

在这里插入图片描述
在这里插入图片描述

进阶二

在这里插入图片描述

  • %.o 对应.c文件生成的.o文件
  • %.c 本目录下所有的.c文件
  • $< 所有的.c文件一一展开在gcc下生成对应的.o文件

总结

举报

相关推荐

0 条评论