當我在我的頭文件中聲明函數原型時,即使我從不使用'extern'關鍵字,我也可以到達程序中的任何地方。它們只對靜態庫很重要,或者我什麼時候需要它?extern關鍵字的用法
3
A
回答
5
默認功能是extern
。 extern
關鍵字僅對變量有用。
2
的extern是C.
默認存儲類說明明確指定它放在變量
extern int i;
,如果它可以模塊之間共享。然後
int i;
在其他模塊不會違反ODR。
對於功能是的,很沒用。
1
對於函數聲明,它們不是必需的。他們只需要聲明外部全局變量:
// header
extern int foo;
// implementation (.c)
int foo;
Wihout的extern
,編譯器會在每次遇到它(因爲包含的頭)時間實例全局變量,你會得到一個連接錯誤。
這個關鍵字的另一種使用情況是使C++ C代碼 - 兼容通過指定它爲C鍵的(這又可以防止連接錯誤,即那些引起C++名稱重整):
#ifdef __cplusplus
extern "C" {
#endif
void foo(void);
#ifdef __cplusplus
}
#endif
0
相關問題
- 1. Extern關鍵字的使用
- 2. VS2010與extern關鍵字
- 3. extern關鍵字問題
- 4. 在C++中使用extern關鍵字
- 5. C++中的extern關鍵字問題
- 6. extern關鍵字在C中的行爲
- 7. C++ extern關鍵字和全局變量
- 8. static和extern關鍵字LINK錯誤C++
- 9. extern關鍵字是指什麼意思?
- 10. C函數定義和Extern關鍵字
- 11. extern關鍵字不同於c到C++?
- 12. extern關鍵字與函數名稱
- 13. 與extern關鍵字使用有關的疑問
- 14. 'extern'關鍵字會使下列代碼合法嗎?
- 15. extern關鍵字和多個翻譯單元的使用
- 16. 在定義變量時使用'extern'關鍵字
- 17. 「this」的用法關鍵字
- 18. throw關鍵字的用法
- 19. extern關鍵字和設置字符串變量
- 20. 腓Formmailer與EXTERN關鍵詞過濾
- 21. 在ANTLR語法中使用不同的關鍵字關鍵字
- 22. extern關鍵字「缺少類型說明符」
- 23. 可以在定義和聲明中指定extern關鍵字
- 24. C - 爲全局變量明確寫入extern關鍵字
- 25. 帶有使用關鍵字「extern」的結構和函數原型的頭文件
- 26. 這個使用extern關鍵字的C程序有什麼問題?
- 27. Python的「from」關鍵字的用法?
- 28. C99'restrict'關鍵字的現實用法?
- 29. 用關鍵字打包的Java方法
- 30. as3:這個關鍵字的用法
'的extern INT i'只是_declares_變量,一個'詮釋i'某處被要求作爲_definition_ – vonbrand