多个源文件编译--makefile

    xiaoxiao2021-03-25  17

    main.c 中引入one.h 和two.h两个头文件,one.c two.c 分别实现两个头文件中定义的函数

    有两种方式编译运行该程序,

    一:手动单独编译

    gcc -c one.c

    gcc -c two.c

    gcc -c main.c

    gcc -o main main.o one.o two.o

    二、makefile

    #! /bin/sh

    main:main.o one.o two.o

          gcc  -o main main.o one.o two.o

    main.o:main.c one.h two.h

          gcc -c main.c

    one.o:one.c one.h

          gcc -c one.c

    还可以对makefile进行精简:

    首先有三个符号:

    1 $@ 代表目标文件

    2 $< 代表第一个文件

    3$^ 代表所有依赖文件

    所以上面命令可以精简为:

    main:main.o one.o two.o

        gcc(或者cc) -o $@ $^

    main.o:main.c one.h two.h

         gcc(或者cc)-c $<

    one.o:one.c one.h

    tab键gcc(或者cc)-c $<

    转载请注明原文地址: https://ju.6miu.com/read-200112.html

    最新回复(0)