请解释为什么它在函数声明中使用extern
?
main.c中
...
pthread_create(&displayThread, &attr, displayThrFxn, &displayEnv);
...
display.h
extern Void *displayThrFxn(Void *arg);
为什么extern
?
display.c
...
Void *displayThrFxn(Void *arg)
{
// some code
}
...
答案 0 :(得分:3)
在这里使用extern
是多余的。默认情况下,如果未指定任何内容,则函数具有外部链接。
引用C11
标准,章节§6.2.3
如果函数的标识符声明没有存储类说明符,则确定其链接与使用存储类说明符
extern
声明的完全相同。 [...]