我有两个源文件: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 调用该函数,您将收到一个链接错误,表明该函数未被引用。希望这能解决你的问题..
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)