gpt4 book ai didi

c - 如果不包含必要的 .c 文件,我的程序如何运行?

转载 作者:行者123 更新时间:2023-11-30 17:22:52 25 4
gpt4 key购买 nike

我正在用 C 进行编码,为了组织我的程序并使其更清晰,我从 main.c 中取出了所有函数并将它们放入自己的 .c 文件中,这些文件都包含 header.h。我忘记将所有 .c 文件包含在我的 main.c 中,当我编译该程序时,它仍然运行得很好!这怎么可能?您不需要包含同一文件夹中的 .c 文件吗?为了安全起见,我仍然应该包含 .c 文件吗?

最佳答案

您可以拥有任意数量的 c 文件,在编译时生成目标文件,然后链接在一起形成可执行二进制文件。

虽然在 main.c 中包含 c 文件可以工作,但这不是将程序拆分为不同文件的适当方法,正确的方法是将所有文件编译成一个名为的中间表示对象文件,然后链接器将它们全部链接在一起以生成可执行二进制文件。

所以编译是这样的

file1.c -> file1.o
file2.c -> file2.o
file3.c -> file3.o
file4.c -> file4.o

.
.
.
.

然后是获取所有文件的链接阶段

file1.o file2.o file3.o file4.o  ... -> executable-binary-file

您还可以一次将所有 c 文件传递​​给编译器。

关于c - 如果不包含必要的 .c 文件,我的程序如何运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27830029/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com