邮箱:

b6p46yf@sxrjhw.cn

茶陵县东久机械制造有限公司

sxrjhw.cn

行业资讯

Product

茶陵县东久机械制造有限公司

网址:www.sxrjhw.cn

邮箱:b6p46yf@sxrjhw.cn

地址:茶陵县

行业资讯

当前位置:首页-行业资讯

定制台面导轨货梯如何写一个简单的ma
发布时间:2024/4/19 新闻来源:茶陵县东久机械制造有限公司 浏览次数:rb9e3p
茶陵县单体链条货梯如何写一个简单的makefile?

一:makefile 雏形: #makefile的撰写是基于规则的,当然这个规则也是很简单的,就是: #target : prerequisites command  //任意的shell 命令 实例如下: makefile: helloworld : main.o print.o #helloword 就是我们要生成的目标 # main.o print.o是生成此目标的先决条件 gcc -o helloworld main.o print.o#shell命令,最前面的一定是一个tab键 mian.o : mian.c print.h gcc -c main.c print.o : print.c print.h gcc -c print.c clean : rm helloworld main.o print.o OK,一个简单的makefile制作完毕,现成我们输入 make,自动调用Gcc编译了, 输入 make clean就会删除 hellowworld mian.o print.o

二:小步改进: 在上面的例子中我们可以发现 main.o print.o 被定义了多处, 我们是不是可以向C语言中定义一个宏一样定义它呢?当然可以: makefile: objects = main.o print.o #应该叫变量的声明更合适 helloworld : $(objects) //声明了变量以后使用就要$()了 gcc -o helloworld$(objects) mian.o : mian.c print.h gcc -c main.c print.o : print.c print.h gcc -c print.c clean : rm helloworld $(objects) 修改完毕,这样使用了变量的话在很多文件的工程中就能体现出方便性了。

三:再进一步: 再看一下,为没一个*.o文件都写一句gcc -c main.c是不是显得多余了, 能不能把它干掉?而且 main.c 和print.c都需要print.h,为每一个都写上是 不是多余了,能不能再改进? 能,当然能了: makefile: objects = main.o print.o helloworld : $(objects) gcc -o helloworld$(objects) $(objects) : print.h # 都依赖print.h mian.o : mian.c #干掉了gcc -c main.c 让Gun make自动推导了。 print.o : print.c clean : rm helloworld $(objects)


茶陵县定制台面导轨货梯