在Linux 下编译链接多个源文件

159 篇文章 0 订阅

add.c 的内容

int Add(int a,int b)

{
   int result;
   result=a+b;
   return  result;
}

 

minus.c 的内容

 

int Minus(int a,int b)
{
  int result;
  result=a-b;
  return result;
}

all.c的内容

 

#include<stdio.h>
int main(void)
{
  int a=8;
  int b=3;
  printf("a=%d b=%d/n",a,b);
  int sum=Add(a,b);
  printf("a+b=%d/n",sum);
  int cha=Minus(a,b);
  printf("a-b=%d/n",cha);
  return 0;
}

 

把三个文件统一编译链接 进行处理 有这么几种方法

1 单个文件的编译最后统一链接

gcc -c all.c

gcc -c add.c

gcc -c minus.c

最后生成的是三个.o文件

gcc all.o add.o minus.o -o all  生成的是可执行文件all

 

2  三个文件一起编译链接

gcc add.c minus.c all.c -o all 生成的是可执行文件 all

 

3 先将add.c 和minus.c  生成.o文件 再生成库文件 对all.c进行编译链接

 

gcc -c add.c  minus.c   生成.o文件

 

ar rv libtest.a add.o minus.o   对.o文件生成libtest.a 库文件,将这个库文件拷贝到/usr/lib目录下,

 

gcc -o all all.c -ltest  对测试程序进行编译链接

 

最后生成可执行文件 all

 

 这里要注意的是生成的库文件名字和后来编译all.c时候使用的库文件要对应起来。上文中使用的是libtest.a  后面就使用-ltest。如果前面使用liball.a,后面就得使用-lall。  库文件的后缀暂时还是更改不了。


写的简单Makefile:

test:all.o add.o minus.o
 gcc -o all all.o add.o minus.o
all.o:all.c
 gcc -c all.c
add.o:add.c
 gcc -c add.c
minus.o:minus.c
 gcc -c minus.c
clean:
 rm -f  all.o add.o minus.o

保存成makefile,直接在当前目录下运行指令make

 

刚开始没有成功,把Makefile更改成文件a,直接运行make -f a 。指定a为Makefile便可以成功。

 

后来直接把文件名更改成了Makefile 便成功了。


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值