makefile文件编写简单示例(使用静态库)

本文介绍了一个简单的C语言数学运算模块实现,包括加法和减法两个基本运算,并通过makefile组织项目结构,最终实现了从源代码到可执行文件的自动化编译过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.文件内容
add.c

int add(int a, int b){
return a + b;
}

sub.c

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

add.h

#ifndef _ADD_H_
#define _ADD_H_
extern int add(int a, int b);

#endif

sub.h

#ifndef _SUB_H_
#define _SUB_H_
extern int sub(int a, int b);

#endif

main.c

#include "add.h"
#include "sub.h"
#include <stdio.h>
#include <math.h>

int main(){
    int a=7,b=6,result;
    result = add(a,b);
    printf("\nadd:%d\n",result);
    result = sub(a,b);
    printf("sub:%d\n",result);
    printf("sin(%d) = %lf\n",a,sin(a));
    printf("cos(%d) = %lf\n\n",b,cos(b));
    return 0;

}

2.文件结构

.
├── include
│ ├── add.h
│ └── sub.h
├── makefile
├── mymath
│ ├── add.c
│ └── sub.c
├── result
└── src
└── main.c

3.makefile文件内容

install:init libmymath.a
        mv libmymath.a ./../lib

init:
        mkdir -p ./../lib

libmymath.a:add.o sub.o
        ar r libmymath.a mymath/*.o


add.o: mymath/add.c 
        gcc -c mymath/add.c -o mymath/add.o
sub.o: mymath/sub.c 
        gcc -c mymath/sub.c -o mymath/sub.o
main.o: src/main.c 
        gcc -c src/main.c -o src/main.o  -I./include/ 

clean:  
        @echo "clean project"  
        rm -rf mymath/*.o 
        rm -rf src/*.o 
        rm -rf result/*
        rm -rf ./../lib
        @echo "clean complete"  


#makefile  
ttt: main.o 
        gcc src/main.o -o result/ttt -L./../lib -lm -lmymath
        result/ttt

下载链接:https://download.youkuaiyun.com/download/weixin_42004975/18578388

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值