2015-10-01 52 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。 [...]

相關問題