在xcode中,可能會給出一些Objective-C代碼,以查看它將在Assembly中輸出的代碼。
是否可以看到給定的啓用ARC的代碼,以查看將由ARC輸出的Objective-C?是否可以看到Objective-C ARC輸出?
4
A
回答
5
這是不可能的,因爲ARC不會生成Objective-C代碼。 ARC是一種編譯器功能,它可以修改與啓用優化功能相同的方式生成的程序集。你不能告訴編譯器向你展示「優化的」C代碼;優化不適用於C代碼級別。同樣,您不能要求查看「ARC-ified」Objective-C,因爲ARC內存管理調用不適用於Objective-C代碼級別。
如果你真的想看看內存管理調用的地方,你必須看看程序集。
5
ARC不是這樣的輸出Objective-C,它是編譯器的一個階段,它改變了編譯器生成的彙編/機器代碼 - 正如你所提到的,你可以在Xcode中看到。但是,如果您在二進制文件上使用反編譯器,則應該看到一個「MRC等效」,這與您將得到的一樣好。嘗試Hopper - 演示可用,我沒有使用它自己,不知道生產者等,但它產生psuedo代碼,它看起來像結構化的程序集,而不是Objective-C。 HTH。
相關問題
- 1. 我如何可以看到輸出HTML
- 2. 是否可以查看FASM預處理器輸出?
- 3. 是否可以查看屏幕會話輸出?
- 4. 是否可以組合非ARC和ARC項目代碼?
- 5. 在Codeigniter下,是否可以看到mysql_error()?
- 6. 是否可以編輯Json輸出?
- 7. 是否可以更改導葉輸出?
- 8. 是否可以調整clojure.test的輸出?
- 9. 是否可以輸出文件? (注意,不是「到」文件)
- 10. 如何查看我的視圖是否可以看到?
- 11. 是否可以將C++輸出流綁定到另一個輸出流?
- 12. 是否可以將原始數據fwrite()到標準輸出?
- 13. 是否可以輸出使用jdbctemplate發送到mysql的sql?
- 14. 是否可以將「tail -f」命令輸出到java程序?
- 15. 是否可以將輸出發送到bash中的變量?
- 16. 是否可以從Fossil SCM輸出到其他DVCS?
- 17. 是否可以使用ABCpdf將數據流輸出到PDF?
- 18. 是否可以查看HttpClient的org.apache.http.conn.EofSensorInputStream?
- 19. 在ARC中輸出參數Objective C
- 20. 在disown和註銷後可以看到輸出到stdout嗎?
- 21. 在查看數據框的內容時是否可以截斷輸出?
- 22. WinDbg可以看到的模塊數量是否有限制?
- 23. 是否可以在輸入多個單詞時查看兩列?
- 24. 是否可以拋出MessageQueueException?
- 25. 是否可以拋出java.lang.Error?
- 26. 是否可以將GPIO配置爲輸入和輸出?
- 27. 是否可以查看文檔?
- 28. 是否可以突出膩子的輸出?
- 29. 是否支持ARC?
- 30. 看不到輸出
它可能有趣於你:http://clang.llvm.org/docs/AutomaticReferenceCounting.html – holex