2015-10-01 54 views
1

请解释为什么它在函数声明中使用extern函数声明中显式“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 
} 
... 
+1

@RalphWiggum不是真的,这个问题是关于C而不是C++,并且与C++链接器无关(在C++中使用了什么'extern“C”) – GalacticCowboy

+0

哎呀,必须在重复列表中选择错误的结果。 –

回答

3

采用extern这里是一种多余。默认情况下,如果没有指定,函数具有外部链接。

引用C11标准,章第6.2.3节

如果对于功能的标识符的声明不具有存储类说明,其连接被确定完全一样,如果它用存储类声明说明符extern。 [...]

相关问题