gpt4 book ai didi

c - 从c中的另一个文件链接静态函数

转载 作者:行者123 更新时间:2023-11-30 17:33:47 28 4
gpt4 key购买 nike

我有两个源文件:A.c 和 B.c

A.c有一个函数,call_me:

static int call_me();

void call_me_register()
{
register_call_me(call_me);
}

如您所见,call_me函数被用作变量,因此它在A.o中具有call_me符号

现在,我想在 B.c 文件中调用这个 call_me 函数。

static int call_me();

void call_call_me()
{
call_me();
}

如果我尝试链接 B.o,则会出现链接错误,即没有这样的 call_me 引用。

这里,约束如下:由于某种原因我无法修改 A.c。在BC省的A.c省有可以调用“call_me”的人吗?

最佳答案

C 中静态函数的可见性仅限于声明它们的文件。因此,如果您在 A.c 中声明一个静态函数并从另一个文件 b.c 调用该函数,您将收到一个链接错误,表明该函数未被引用。希望这将解决您的问题..

关于c - 从c中的另一个文件链接静态函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23622803/

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