gpt4 book ai didi

c - C 头文件中的函数?

转载 作者:太空宇宙 更新时间:2023-11-04 01:18:32 25 4
gpt4 key购买 nike

我听说您将函数原型(prototype)放在头文件中,然后将函数定义放在 .c 文件中。但是,这个.c文件是什么。例如,如果你要包含一个文件“foo.h”,你会把前面提到的.c文件称为“foo.c”,把函数定义放在里面,把它和foo.h放在同一个地方,并且当您尝试包含 foo.h 时,该函数是否会从 c 文件中继承并准备好使用?

最佳答案

不,只是将 .c.h 放在一起并将其包含在您的代码中并不能神奇地继承函数的定义。

您需要将foo.c 单独编译成一个目标文件(如果是Linux,它是一个.o 文件)。例如使用命令 -

gcc -c foo.c -o foo.o

现在这个 foo.o 需要链接到您的实际程序。这可以通过在编译时简单地传递目标文件来完成

gcc test.c foo.o -o test.out

如果您不将 foo.o 链接到您的程序,您的链接器将无法找到其中定义的函数的实现,并将抛出链接器错误 -

Undefined reference to function foo_function.

关于c - C 头文件中的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50399128/

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