【发布时间】:2014-05-13 04:27:00
【问题描述】:
我有两个源文件: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。 有没有人可以在 B.c 的 A.c 中调用“call_me”?
【问题讨论】:
-
不是一个真正的C++问题——上面的代码和用法是C——把标签改成了C
-
@Soren 有点像C++,因为函数名
register_call_me被重载了(但是越看越觉得是个错误)。 -
@paddy -- 好点,两者都同意...
-
哦,这是一个错误,已修复:-)