是否可以查看由@synthesize生成的確切代碼?查看由@synthesize for getter/setter生成的代碼
5
A
回答
5
您可以閱讀Clang的編譯器的源地看到,生成getter和setter方法的C++代碼:
http://llvm.org/svn/llvm-project/cfe/trunk/lib/CodeGen/CGObjC.cpp
它很神祕,但是這是看到生成的代碼的最準確的方法。
您還可以查看Apple's runtime implementation中的objc_getProperty和objc_setProperty實現。雖然字面上與生成的代碼不同,但該代碼更容易閱讀,並清楚地表明適當的吸氣和吸氣裝置應該做什麼。
+0
如果「清除」包括文件中有很多死碼,那麼是的。但是你是對的,好東西也埋在那裏。 – 2011-05-03 13:14:32
5
當然可以。轉到.m文件,在該文件中你有@synthesized
該屬性,然後從生成菜單中選擇「顯示彙編代碼」。編譯器方便地放入東西,如:
.align 4, 0x90
"-[Foo setStr:]":
Leh_func_begin2:
Lfunc_begin2:
....
而且
.align 4, 0x90
"-[Foo answer]":
Leh_func_begin3:
Lfunc_begin3:
....
哦,你想的Objective-C代碼?對不起,這是由編譯器完成的,編譯器讀取的內容是 Objective-C,但在彙編中寫入。
相關問題
- 1. 由IBM的企業COBOL編譯器生成的查看代碼
- 2. 查看由模板生成的代碼的首選方法Haskell
- 3. 如何查看由camlp4生成的代碼
- 4. 查看由Aeson中deriveJSON生成的代碼
- 5. 如何查看由CLR生成的本機代碼?
- 6. Xamarin - 查看生成的Objective C代碼?
- 7. Objective-C:從何處可以看到使用@synthesize生成的setter/getter方法生成的代碼?
- 8. 查看代碼生成準備問題,從Matlab函數生成c代碼
- 9. 如何查看由Sequelize.js生成的SQL?
- 10. 如何查看由nHibernate生成的SQL?
- 11. GWT生成的java代碼的調試/查看源碼
- 12. 是否可以看到由Fabric Composer生成的鏈式代碼?
- 13. 如何查看由.net JITer生成的機器代碼的反彙編?
- 14. GetHashCode for StringBuilder生成不同的代碼
- 15. 是否可以查看由JVM熱點編譯器生成的機器代碼?
- 16. 如何查看由v8生成的機器碼?
- 17. 由故事板生成的代碼
- 18. 由Rails生成的Ruby源代碼?
- 19. 由代碼生成的TableLayout不顯示
- 20. 由SOAP2ObjC生成的代碼問題
- 21. 由swig生成的自定義代碼
- 22. 由rails生成的ruby源代碼
- 23. 運行由soapui生成的axis2代碼
- 24. 預覽由NHibernate生成的SQL代碼
- 25. JAXB XJC代碼生成 - 由Marshaller生成的xml中缺少「schemaLocation」
- 26. 查看javascript生成的html頁面的實際html源代碼
- 27. 查看生成的源代碼(後AJAX/JavaScript的),在C#
- 28. 免費軟件插件查看ASP.NET生成的HTML源代碼?
- 29. 如何查看編譯器爲OpenMP構造生成的代碼
- 30. 如何在Firefox中查看「生成的HTML代碼」?
我能問你爲什麼要這樣嗎? – 2010-10-13 22:10:59
Soitanly。我雖然可以從查看代碼中學到一些東西。 – cfischer 2010-10-13 22:14:13
相關:http://stackoverflow.com/a/589348/412916 http://stackoverflow.com/questions/917884/ http://cocoawithlove.com/2009/10/memory-and-thread-safe-custom- property.html – Jano 2011-12-20 23:30:34