首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >头文件和生成文件的格式/用途是什么?(C)

头文件和生成文件的格式/用途是什么?(C)
EN

Stack Overflow用户
提问于 2012-03-12 07:19:55
回答 3查看 1.2K关注 0票数 0

我不清楚makefile中包含的内容,以及头文件中包含的内容。

据我所知,makefile的格式是:

代码语言:javascript
运行
复制
target: dependencies
        instructions

但这对我不起作用。这就是我所做的:

代码语言:javascript
运行
复制
library: login.o linked.o cipher.o
    gcc -o library login.o linked.o cipher.o

login.o: login.c linked.h
    gcc -c login.c

linked.o: linked.c cipher.h
    gcc -c linked.c

cipher.o: cipher.c
    gcc -c cipher.c

当我在命令行中输入"make makefile“时,编译器会说"make:对于‘makefile’不做任何事情”。我猜我把格式搞错了。另外,库部分是用来做什么的?我只是从某个地方抄袭过来的。是不是每个makefile都有一个?

另外,makefile (makefile.txt,makefile.c)有没有扩展名?

那么makefile必须被命名为makefile吗?我可以将它命名为makefile69、makefile69、lykeim2freespirited4skool或iwanaBahippie吗?

至于头文件,我找不到任何明确的例子来说明它们到底有什么内容。是否包含希望其他文件能够访问的变量?还是函数原型?

我对C语言真的很陌生,有人能像我5岁那样给我解释一下吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-12 07:24:13

当您运行make时,它将查找一个名为Makefile的文件;您不必指定要使用的makefile。如果没有任何参数,make将(通常)在文件中构建第一个目标。Makefile不需要扩展名,可以命名为其他名称(但您必须告诉make去哪里查找)。

头文件用于函数原型、类型和(全局)变量,您需要从放入.c文件中的代码中访问它们(加上一些其他东西,比如可以派上用场的预处理器#define)。

票数 4
EN

Stack Overflow用户

发布于 2012-03-12 08:02:14

构建C语言软件有两个阶段.....编译和链接。

编译会将.C文件转换为目标文件。

链接获取所有这些目标文件,并将它们合并到一个库或可执行文件中。

头文件在编译过程中使用...它有关于你在链接时应该找到的东西的信息。即..。应该有一个名为X的函数,应该有一个名为Y的变量,等等……或者它定义了一些东西,所以它们在几个C文件中是通用的。例如MAX_WIDGETS。也就是说,它是一种让一个.c文件使用在另一个.c文件中实现的东西,或者定义.c文件中通用的东西的一种方式。

Makefile是关于如何获取.h .c并通过编译和链接运行它们,以及您想要对这些文件进行的任何其他转换。

票数 1
EN

Stack Overflow用户

发布于 2012-03-12 08:30:36

makefile没有问题,但没有名为"makefile“的目标。使用文件选项选择-f:make -f makefile。但是你不需要它,因为你的文件有一个标准的名字(Makefile,makefile,...)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9659912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档