ios編譯的一些細節

來源:互聯網
上載者:User

一、使用arc必須用LLVM3.0,LLVM3.0多了一個給力的新東西,叫Automatic Reference Counting。開啟這個選項之後,LLVM會在編譯階段自動幫開發人員完成“手動”的記憶體管理。同時,所有代碼中的retain,release和autorelease會被標記成錯誤,也就是說,我們完全不需要用以前頭蛋俱疼的方式管理記憶體了。  ARC不僅可以修複錯誤,還能增強效能。根據WWDC
2011大會的介紹,retain/release快了2.5倍,@autoreleasepool快了6倍,objc_msgSend快了33%。不需要arc的檔案,加入“-fno-objc-arc”編譯選項即可。


二、不用arc時,編譯器用gcc或llvm3.0都可


三、引入了c++靜態庫,相關使用靜態庫的.m檔案都要改為.mm檔案,包括appdelegate.m和main.m


四、不要忘記配置header search paths


五、如果引入的靜態庫中有category,在Other linker flag中加入-ObjC和-all_load

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.