如果在C++中沒有使用某些東西,則根本不編譯它。對iPhone來說同樣如此嗎? 如果我編譯一個程序,並有未使用的類或其他東西,它會被編譯或忽略?構建應用程序時由Xcode編譯的未使用的類是什麼?
2
A
回答
7
這取決於您的構建設置。
在您的目標生成設置下,然後在「鏈接」下有一個「死碼剝離」選項。對於使用Xcode創建的項目,它默認爲yes。
下面是來自蘋果構建設置文檔的鏈接(有節選):
DEAD_CODE_STRIPPING(死代碼剝離)
說明:布爾值。
指定是否從二進制文件中除去死代碼。
先決條件:GCC_DEBUGGING_SYMBOLS $ =全
值:
是:死代碼從 二進制時的前提條件得到滿足剝離。
否:從二進制文件中未刪除死代碼 。
默認值:NO同伴:「GCC_DEBUGGING_SYMBOLS (調試符號的水平)。」前提條件爲: PRESERVE_DEAD_CODE_INITS_AND_TERMS
注意,該文件說的默認值爲NO,但Xcode項目設置的默認值到YES。
5
我相信任何添加到目標的資源都會在構建時被編譯和/或複製到應用程序包中。要編輯構建/複製哪些文件,您可以修改Xcode 4中的設置,方法是單擊項目,然後單擊目標。在構建階段下,您可以根據需要更改文件。
以下是截圖:
還爲死代碼生成設置下剝離的設置。這裏是什麼樣子:
默認是肯定的,但如果你想禁用它由於某種原因,這就是你要如何做到這一點。
相關問題
- 1. 什麼是iOS應用程序的編譯/構建文件?
- 2. XCode中的ios應用程序的確切構建過程是什麼?
- 3. 編譯和鏈接時由Xcode生成的文件是什麼?
- 4. Xcode不編譯「終止應用程序,由於未捕獲的異常'NSInternalInconsistencyException'」
- 5. 什麼時候編譯和構建,什麼時候不用.NET?
- 6. 爲什麼由GCC編譯的應用程序總是包含_mcount符號?
- 7. 構建桌面應用程序時需要使用什麼?
- 8. 如何使用XCode 4構建使用py2app的應用程序?
- 9. 構建flatiron HTTP應用程序的習慣用法是什麼?
- 10. 爲什麼我無法在xcode中構建iPhone應用程序?
- 11. 在Xcode編譯應用程序部署
- 12. 直接編譯/從Xcode應用程序
- 13. xcode 4 culdn't編譯openCL應用程序
- 14. 無法讓Xcode應用程序編譯
- 15. 爲什麼我的flex應用程序有時無法編譯?
- 16. 編譯此程序時,此構建錯誤意味着什麼?
- 17. 我應該使用Ruby構建什麼類型的應用程序?
- 18. 運行已編譯的iPhone模擬器應用程序構建? (.app)沒有Xcode?
- 19. 編譯iOS應用程序時,有什麼想法是什麼「dyld:Symbol not found:___gcc_personality_sj0」?
- 20. 用Docker構建一個已編譯的應用程序
- 21. 什麼是使用Microsoft翻譯API的應用程序ID?
- 22. 構建(小型)Web應用程序的最佳編程語言是什麼?
- 23. 編譯器/鏈接器錯誤,同時構建應用程序
- 24. 使用同構web應用程序的目的是什麼?
- 25. 使用ngrx的應用程序的最佳結構是什麼?
- 26. 使用Eclipse構建DSL時,增量編譯的最佳方法是什麼?
- 27. 構建iOS應用程序進行性能分析時,編譯器錯誤的原因可能是什麼?
- 28. 使用什麼構建我的應用程序
- 29. 使用xcode 3.2.3構建10.5的應用程序的問題
- 30. 什麼是使用ember.js構建完整Web應用程序的最佳教程
...問題是? – Saphrosit
你問的問題不清楚?你問是否編譯iOS代碼? – Moshe
我的意思是,如果我要編譯一個程序,並有未使用的類或其他東西,它會被編譯或忽略? – anijam