做,包括頭文件,如stdio.h中,CONIO.H或任何其他使我們的代碼或程序重待辦事項包括頭文件使程序更重的在C
回答
包括頭文件插入所有內容從他們進入翻譯單位進行預處理。
如果include僅包含聲明(通常是這種情況)並且函數在庫文件中實現,則代碼不會變得更重。如果頭文件包含實現,它將在編譯時編譯,從而使文件更重。
您可以在此處詳細瞭解編譯步驟: http://www.tenouk.com/ModuleW.html
你爲什麼不嘗試,包括他們建立一個EXE,然後不包括他們,並建立一個EXE,看看會發生什麼文件的大小。我懷疑你會發現,鏈接器足夠聰明,只需要在EXE中創建必要的東西。
通常頭文件只包含聲明語句。聲明本身不會增加代碼大小。在代碼的任何位置引用已聲明的符號將導致鏈接器包含定義爲聲明符號的代碼。
由於頭文件必須由在它被包含的代碼的情況下,編譯器進行解析,生成時間可以通過頭文件包含被延長。非常大或深度嵌套的頭文件(例如windows.h)可以通過這種方式產生相當大的效果。
此外,如果您使用的IDE具有代碼導航和理解功能,例如自動完成和語法檢查,則IDE必須以與編譯器類似的方式解析代碼,並且此處頭文件可以再次降低該過程。
雖然你應該避免包括不必要的頭文件,那些含有聲明融合,在格蘭代碼是不可避免的 - 或者至少避免他們將會導致有可能導致錯誤,重複和使代碼很難維護。
對於典型的發佈版本,沒有。頭文件通常只包含聲明,未使用的聲明不會影響發佈版本的大小。頭文件可以包含內聯函數定義,如果定義沒有被優化,可能會被編譯器發出。但是,這可能不適用於系統標題,如<stdio.h>
。
對於典型的調試版本,是。調試數據通常包含有關聲明的信息,即使這些聲明未在程序中使用。這樣你可以在調試器中使用這些聲明。現代調試器包括函數定義,枚舉,甚至包括最近的預處理器定義。
這就是說,你可以把任何東西在頭文件。
不必要的頭文件包含的主要作用是使生成過程花費更長的時間。
- 1. C++頭文件和包括
- 2. 包括頭文件C++
- 3. IntelliJ排序待辦事項
- 4. 回合包括頭文件使用C
- 5. make文件:頭包括另一頭C++
- 6. Git合併,不包括待辦事項評論
- 7. C++靜態庫依賴項,頭包括頭文件
- 8. 包括頭文件
- 9. 包括對方的C++頭文件
- 10. 如何使用REDX在待辦事項列表中添加待辦事項
- 11. 陰謀不包括C頭文件
- 12. C++頭文件包括組織
- 13. C:包括源文件,而不是頭
- 14. 待辦事項的rsync
- 15. 流星火焰待辦事項應用程序檢查條件
- 16. 待辦事項列表應用程序使用通知/提醒
- 17. 待辦事項應用程序:查看上下文更改(latest-ember)
- 18. 在附加頭文件中包含頭文件包括路徑
- 19. 使用SQLite的待辦事項列表
- 20. 待辦事項的XPath上使用Java
- 21. 重複的錯誤:C文件包括
- 22. 圓C++頭包括
- 23. 圓C++頭包括
- 24. 包括模板頭文件
- 25. 混淆,包括頭文件
- 26. 包括DDK頭文件
- 27. Android待辦事項列表
- 28. web.py待辦事項列表()
- 29. Knockout.js待辦事項列表
- 30. 待辦事項繼承權
爲什麼添加了c#標籤? – 2014-11-04 09:31:17
我刪除了'c#'。 – wimh 2014-11-04 09:32:10
你如何權衡一個計算機程序? – 2014-11-04 09:35:26