如何编写一个Makefile来编译一个简单的C程序

如何编写一个Makefile来编译一个简单的C程序,第1张

概述如何编写一个Makefile来编译一个简单的C程序

编译下面的程序

#include <stdio.h> int main(voID) { printf ("Hello from your first program!n"); return 0; }

a) – 使用types为Makefile的文件

b) – 可执行文件将被命名为Hello

“请帮忙做一个练习,我知道如何在CodeBlocks中做这个,但是我不知道Makefile是什么,以及如何在linux中编写它,我使用命令”gcc filename.c“编译并随后”./“ a.out“,但我仍然不明白Makefile是什么,它是一种shell脚本,一个指令吗?这个任务的Makefile如何完全看起来?在此先感谢:)”

什么是应用程序可以自行终止的最猛烈的方式(linux)

如何configurationVim for C ++开发?

我如何看到另一个进程在windows上运行?

如何使这个简单的C程序重新启动只需一个按键,而不是两个

在windows中,如何让非阻塞的标准inputredirect的pipe道?

带有汇的boost_log示例无法编译

11001返回getaddrinfo()的所有调用

在C#中获取和设置windows桌面图标大小

后备列表vs低碎片堆

如何在换行符到达之前读取tty设备上的terminalinput?

makefile是make实用程序的一个配方,如何使用shell运行的一组命令从其他文件(称为依赖项)创建一些文件(称为目标 )。 一个makefile通常是这样的:

target: dependency [...] command1 command2

尝试跑man make详细信息。

现在对于你的任务,真的不需要一个Makefile,因为make有内置的规则,知道如何编译一个简单的程序。 所有你需要做的就是把你的C源文件放在一个以可执行文件名( Hello )和一个.c扩展名(即Hello.c )命名的文件Hello.c 。

然后一个简单的

$ make Hello cc Hello.c -o Hello

做一切。 如果你想使用gcc而不是cc,你可以运行

$ rm Hello $ make CC=gcc Hello gcc Hello.c -o Hello

如果你告诉你的教师/老师/教授,你需要一个空的makefile,因为你知道内置的规则做对了,你会得到一些额外的功劳,也许你的老师已经学到了新的东西:-)如果你被要求参考,你可以引用make手册的相关部分,或者像pro专业版那样引用POSIX标准中的make工具 , 默认规则部分。

这是你的程序的简单make文件。

CC = gcc CFLAGS = -g RM = rm -f default: all all: Hello Hello: Hello.c $(CC) $(CFLAGS) -o Hello Hello.c clean veryclean: $(RM) Hello

假设在一个名为makefile.m1和makefile.m2目录中有两个makefiles makefile.m2 ,如果你想同时创建make文件,那么请使用以下命令

make -f makefile.m1 make -f makefile.m2

或者使用包含以下内容的单个Makefile :

m1: make -f makefile.m1 m2: make -f makefile.m2

并使用make m1或make m2

现在让我们清除您对make文件名称的疑问,不要求使用Makefile

无论你想要什么,你都可以命名makefile。 假设我想给名称myfirstmakefile.mk 。 稍后使用它需要告诉make你想要的makefile。 为此使用-f选项:

make -f myfirstmakefile.mk

再次extantion .mk也不是管理你可以使用任何你想要的,但永远不会忘记使用-f选项。

所以这可能对你有帮助。

makefile是计算机的一个配方,用于说明如何执行某些任务以及这些任务之间的依赖关系。

在简单的形式,它看起来像这样:

a.out: filename.c gcc filename.c

阅读:“要从filename.c构建a.out ,运行命令gcc filename.c 。如果a.out比filename.c新,那么不要做任何事情”

注意: gcc行中的第一个字符必须是一个制表符。

在makefile之前,你必须知道它是什么,为什么我们需要它

什么是Makefile?

Makefile是用特定的语法编写的脚本,它通过编译和链接从源文件中构建目标输出(通常是一个或多个可执行文件)。 简言之,makefile将以简单快捷的方式编译您的源代码。 为什么我们需要Makefile?

=>大项目可以包含多个源文件,这些源文件相互依赖或以层次方式排列,例如为了编译文件A,必须先编译B; 为了编译B,你必须先编译C; 等等。

=> Make是解决这些问题的方法。 它可以用来编排整个项目,并根据你的制定规则(后面将要讨论)通过输入单一的命令生成你的目标。

=>一个重要的特性是,当一个项目经过一些改动后重新编译时,它将只重新编译那些被改变的文件以及任何依赖它的文件。 这节省了很多时间。

=>对于大型项目,当对源进行一些更改时,每次手动重新编译整个项目都很繁琐,容易出错并且耗时。

这里是不错的链接: 如何写第一个makefile

总结

以上是内存溢出为你收集整理的如何编写一个Makefile来编译一个简单的C程序全部内容,希望文章能够帮你解决如何编写一个Makefile来编译一个简单的C程序所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1225515.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存