首页 > 技术文章 > Makefile 入门(加减乘除实现)

soowin 2020-08-21 11:54 原文

Makefile 入门(加减乘除实现)

准备

使用任意Linux发行版即可,本文使用WSL Ubuntu。

开始之前,需要安装必要的工具:

sudo apt install make g++

开始

1、新建一个工程文件夹src,然后新建以下文件:

src
├── Makefile
├── div.cpp
├── head.h
├── main.cpp
├── mul.cpp
├── plus.cpp
└── sub.cpp

0 directories, 7 files

2、main.cpp是测试程序的入口,调用写好的加减乘除方法:

# include "head.h"

int main()
{
    printf("sum = %d\n", add(40,5));
    printf("mul = %d\n", mul(40,5));
    printf("sub = %d\n", sub(40,5));
    printf("div = %f\n", div(40,5));
}

3、head.h 是头文件,其中需要写函数声明,以及其他需要使用的头文件

#include "stdio.h"

int add(int a, int b);
int sub(int a, int b);
int mul(int a, int b);
double div(int a, int b);

3、plus.cpp等四个方法如下所示:

//plus.cpp
#include "head.h"

int add(int a, int b)
{
    return a - b;
}
//mul.cpp
#include "head.h"

int mul(int a, int b)
{
    return a * b;
}
//div.cpp
#include "head.h"

double div(int a, int b)
{
    return a / b;
}
//sub.cpp
#include "head.h"

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

4、Makefile文件

CC = g++
CFlags = -c
ObjFiles = main.o plus.o sub.o mul.o div.o

main: $(ObjFiles)
	$(CC) $(ObjFiles) -o main
%.o: %.cpp head.h
	$(CC) $(CFlags) $< -o $@

.PHONY:clean all
clean:
	rm -f *.o main

详细的格式写法和定义等请参考该文章的后半部分:Makefile简单编写实例

//TODO: 详细makefile写法

生成

在src文件夹内运行make命令即可:

运行效果:

推荐阅读