Makefile的认识

makefile是用于节约工程编译的时间的。如果是刚刚接触unix的同学可能不能理解节省编译时间的功效,毕竟刚刚入门的时候编写的代码都是比较短的,编译时间就是几秒钟,根本无需节约时间。假设你的工程工程文件接近一千个,你需要修改其中一个的时候,如果没有makefile,你需要重新编译和链接所有文件。如果有makefil的时候只需要根据时间戳,判断目标文件和依赖文件的时间顺序就可以只编译修改过的文件,这样就节约很多时间啦。
makefile的书写格式:
目标:依赖
<TAB键>命令
解析一下:
目标就是你需要生成的目标文件
依赖:依据这个来生成目标文件,常见的 点C文件(.c),或者点O(.o)文件
TAB键:这个很重要,不能用空格来代替,事实上就是一个标志,表明后面的是需要执行的Shell语句。
1创建一个.c文件,

int main(int argc,int *argv[])
{
	printf("hello world!\n");
	return 0;
}

2创建一个名字为makefile或者Makefile的没有后缀的普通文件

main:main.c
	gcc main.c -o main

3代码运行结果,由于我是使用Notepad++,写的代码,所以存放的位置是y_share的一个共享文件夹里面。
运行结果
makefile的变量
变量类似C语言的宏,主要有以下的几点
1,变量和函数的展开是在make读取makefile文件的时候进行的
2,变量可以代表很多的,例如:文件名列表,编译选项列表,选项的参数列表,搜索源文件的目录列表,编译输出的目录列表。
3,变量名一般都是数字,字母,下划线,和C语言的基本一致,虽然允许使用“.”,"#"."=",前置空白和尾置空白的任意字符,但是不建议这样使用,因为这些有可能在以后的make版本中赋予其他特殊的含义。
4,变量名是大小写敏感的。wo和WO和Wo是不一样的,为了规范编译风格,建议objects(目标文件列表使用小写),参数列表使用大写(如编译选项CFLAGS)。
5,自动变量,只包含特殊符号例如:“<”,"@","?","*","@D","%F","^D"
6,变量的引用:
在这里插入图片描述
具体的代码示例
在这里插入图片描述
运行结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值