GCC c语言头文件后缀
时间: 2024-06-19 12:03:44 浏览: 203
在 GCC 的 C 语言头文件中,通常有以下两种后缀名:
1. `.h`:这是最常见的头文件后缀名,例如stdio.h、stdlib.h等。
2. `.hh`:这是 C++ 头文件的后缀名,用于包含 C++ 中的类定义和函数声明等内容。
需要注意的是,C++ 头文件中的函数声明和定义通常需要使用 `extern "C"` 告诉编译器使用 C 的命名规则,以便在 C++ 中能够正确地链接和使用这些函数。
相关问题
GCC中c语言头文件后缀
在GCC中,C语言头文件的后缀通常为.h。C语言程序通常需要包含许多头文件,这些头文件中包含了程序所需要的函数、变量、结构体等的定义和声明。这些头文件可以通过#include指令包含在C程序中,以便在编译时将它们与程序一起编译。例如,stdio.h是一个常用的C语言头文件,它包含了许多输入输出相关的函数和变量的声明。除了.h之外,有些头文件还可能使用其他的后缀名,但通常都是以.h结尾的。
makefile 编辑c语言多个头文件
假设我们有以下文件:
- main.c:主函数所在的文件
- foo.h:foo模块的头文件
- foo.c:foo模块的源文件
- bar.h:bar模块的头文件
- bar.c:bar模块的源文件
我们可以使用以下Makefile来编译这些文件:
```makefile
CC = gcc
CFLAGS = -Wall -Wextra -Werror -I.
SRCS = main.c foo.c bar.c
OBJS = $(SRCS:.c=.o)
all: myprogram
myprogram: $(OBJS)
$(CC) $(CFLAGS) $^ -o $@
%.o: %.c
$(CC) $(CFLAGS) -c $< -o $@
clean:
rm -f $(OBJS) myprogram
```
在这个Makefile中,我们首先定义了一些变量:
- `CC`:编译器的名称
- `CFLAGS`:编译选项,包括警告和错误信息,以及头文件的搜索路径(这里只有当前目录)
- `SRCS`:源文件的列表
- `OBJS`:目标文件的列表,通过把源文件的后缀名`.c`替换为`.o`得到
然后,我们定义了一个`all`目标,这是默认目标,它依赖于`myprogram`目标。`myprogram`目标依赖于`$(OBJS)`,也就是所有的目标文件,它们将被链接成一个可执行文件。我们使用`$^`来引用所有的依赖项,`$@`来引用当前目标的名称。
接下来,我们定义了一个模式规则,它告诉Make如何将`.c`文件编译成`.o`文件。`$<`表示当前依赖项的名称,也就是`.c`文件的名称。
最后,我们定义了一个`clean`目标,用于删除所有的目标文件和可执行文件。
阅读全文