gpt4 book ai didi

使用 make 编译多个 C 文件

转载 作者:太空狗 更新时间:2023-10-29 16:23:26 26 4
gpt4 key购买 nike

(我正在运行 Linux Ubuntu 9.10,所以可执行文件的扩展名是 executablefile.out)我刚刚开始使用 C 进行模块化编程(使用多个文件进行编程),我想知道如何在一个文件中编译多个文件生成文件。例如,编译这些文件的 makefile 是什么:main.c、dbAdapter.c、dbAdapter.h? (顺便说一句,如果你还没有弄清楚,主要功能在 main.c 中)还有人可以发布一个指向 makefile 文档的链接吗?

最佳答案

发布的链接都很好。对于你的特殊情况,你可以试试这个。基本上所有的 Makefile 都遵循这种模式。其他一切都是快捷方式和宏。

program: main.o dbAdapter.o
gcc -o program main.o dbAdapter.o

main.o: main.c dbAdapter.h
gcc -c main.c

dbAdapter.o dbAdapter.c dbAdapter.h
gcc -c dbAdapter.c

这里的关键是 Makefile 按顺序查看规则并在需要某些项目时构建。

它会首先查看程序,并看到要构建程序,它需要一些名为 main.o 和 dbAdapter.o 的东西。

然后它会找到main.o。但是,要构建 main.o,它将需要 main.c 和 dbAdapter.h(我假设 dbAdapter.h 包含在 main.c 中)。

它将使用这些源代码通过使用 gcc 进行编译来构建 main.o。 -c 表示我们只想编译。

它对 dbAdapter.o 做同样的事情。当它有这两个目标文件时,就可以链接它们了。它也为此步骤使用 gcc 编译器。 -o 表示我们正在创建一个名为 program 的文件。

关于使用 make 编译多个 C 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2604398/

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