gpt4 book ai didi

c - 使用 GCC 包含头文件

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

抱歉。我想这个问题对你们来说很容易。

我有两个 c 文件和一个 h 文件,我把这两个 .c 文件 stack.cmain.c 和一个.h 文件 stack.h 位于 Desktop 名为 "test" 的文件夹内。

所以它们位于C:\Users\user\Desktop\test

但是当我尝试通过编写来测试这段代码时

gcc -c stack.c sq_main.c -l stack.h

它连续显示“未知类型名称...”

我认为头文件没有包含在这两个 .c 文件中。

其实代码是我写的

#include "stack.h"

内部stack.cmain.c

谁能告诉我如何正确包含头文件?

最佳答案

您正在使用GCC错。我猜你在 Linux 上(或者在类似 MinGW ... 的东西上)

如果您坚持在终端中发出多个命令,则需要运行

 gcc -Wall -Wextra -g -c stack.c
gcc -Wall -Wextra -g -c sq_main.c

这两个命令正在构建目标文件stack.osq_main.o(来自stack.c#include -d stack.hsq_main.c 以及 #include-d stack.h >,分别)。选项 -Wall -Wextra 要求提供所有警告和一些额外警告。 -g 选项询问调试信息。 -c 选项仅要求编译。假设它们足以满足您的程序,您需要link这些目标文件来生成可执行文件:

 gcc -g stack.o sq_main.o -o myprogram

您可能需要在编译命令(前两个)中添加 -Iinclude-directory 选项,并且可能需要添加 -Llibrary-directory-llibrary-name 到链接命令。 gcc 的参数顺序非常重要。您还可以添加 -H 来要求编译器显示包含哪些文件。和GCC还有很多其他选择。阅读Invoking GCC其文档的章节。

在大多数 Windows 系统上,.o 后缀可能是 .obj。您可能还需要 myprogram.exe 而不是 myprogram。我从未使用过 Windows,所以我无法提供更多帮助。

实际上,您应该使用 GNU make并编写一些Makefilethis答案可能会给您带来启发。

关于c - 使用 GCC 包含头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30016205/

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