我想从other.c调用test.c中定义的函数。
我可以extern
调用它吗?另外,我是否必须在function1
和extern
中使用function2
和function3
来使用function1
?
other.c
extern function1();
function1();
test.c
void function1()
{
function2();
function3();
}
void function2()
{
}
void function3()
{
}
最佳答案
函数声明是“默认”的extern
。
引用C11
,第§6.2.2章(重点是我的)
如果函数的标识符的声明没有存储类说明符,则其链接
完全由确定,就好像它是由存储类说明符extern
声明的一样。 [...]
因此,您不必对此明确。
您需要将翻译单元(也称为源文件)编译成目标文件,然后将它们链接在一起以构建可执行文件。那应该做。
关于c - 使用extern关键字调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45923026/