栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

makefile ----升级版

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

makefile ----升级版

文章目录
  • 前言
  • 一、文件
  • 二、makefile的升级


前言

本文所写代码是基于linux下的编程

一、文件

a.c

#include 
#include "a.h"

int main()
{
	printf("hello, world!n");
	printf("A= %dn", A);
	test_fun();
	return 0;
}

b.c

#include 
#include "a.h"
int test_fun()
{ 
	printf("it is Bn");
	return 0;
} 

a.h

#define A 1
int test_fun();
二、makefile的升级

上一个引入的makefile缺点很多,需要进行修改:
makefile

test:a.o b.o
	gcc -o test a.o b.o

a.o : a.c 
	gcc -c -o a.o a.c	

b.o : b.c
	gcc -c -o b.o b.c	

-c: 表示只进行预处理,编译,汇编,但不进行链接
这样子做的好处:

我们如果只修改其中一个文件,他只会去预处理,编译,汇编我们修改的文件,不会把全部文件都再做一遍,这样子效率就变高了。

修改a.c后.他只进a.c的预处理,编译,汇编,b.c没有修改不会在进行预处理,编译,汇编。

缺点:

如果有很多个文件,那么makefile中是不是要写上千万条
a.o : a.c gcc -c -o a.o a.c
同时如果我修改a.h整体不会产生变化,不会进行新的编译结果。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/312802.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号