【发布时间】:2012-01-18 12:35:05
【问题描述】:
我有一个理论问题。
这是一个例子:
file1.c
static void foo()
{
...
}
file2.c
extern void foo();
main()
{
foo();
}
编译正常。
那么,extern 打破了静态声明的内部链接?
【问题讨论】:
-
什么让你感到惊讶?编译器一次在一个编译单元上工作。链接器可能会抱怨。
-
另外,您的
main不正确。它可以接受任意数量的参数。 -
您是否也尝试过链接程序?