gpt4 book ai didi

c - 我如何在我的源文件中调用一个函数,其中仅包含 c 中的头文件?

转载 作者:太空宇宙 更新时间:2023-11-04 06:00:48 24 4
gpt4 key购买 nike

我想知道,如果我有这样的源文件

#include <stdio.h>
int main()
{
printf("Hello world");
}

据我所知,头文件仅包含函数原型(prototype)。如果是这样,我的源文件如何获得函数 printf ?如果我不包含已声明的源文件?谢谢

最佳答案

问题不清楚,但是在创建程序之前发生了两件事,

  1. Compiling (requires prototypes / declarations)

  2. Linking (requires definitions).

了解原型(prototype)需要标题信息。即使这样编译也很好:

int printf ( const char * format, ... );
int main()
{
printf("Hello world");
}

链接时不会有问题,因为 printf 函数在 C 标准库中找到,因此在链接时它将查看标准目录(库所在的编译器 - bin/lib 文件夹)并链接函数。

来源只需要知道原型(prototype)。程序员在这种情况下会遇到的问题:

int my_printf ( const char * format, ... );
int main()
{
my_printf("Hello world");
}

上面的代码可以编译,但是当链接 my_printf 时,您的代码将没有定义,因此会在链接时出错。

关于c - 我如何在我的源文件中调用一个函数,其中仅包含 c 中的头文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19628832/

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