如果我在__attribute__((constructor))
函數中創建並使用一些Objective-C類,並且它們可能會創建一些自動釋放的對象,那麼可以安全地在構造函數的代碼周圍放置一個@autorelease
塊函數即使在main
之前調用?__attribute __((constructor))functions and autorelease
0
A
回答
1
據我的理解,main()
的@autorelease
塊沒有比任何其他部分代碼更特殊,所以我不明白爲什麼它不應該工作。
+0
看來你是對的 - 我不確定a)調用構造函數的時間有多早;和b)如果第一個'@ autorelease'塊在'main'之前結束並且另一個'main'開始可以。讀一下這個,再想一想,'main'就是其他功能。構造函數在'main'之前被調用,但所有東西都已經準備好了,所以你可以在'main'的頂部做任何事情。 – jhabbott
相關問題
- 1. __attribute __((packed))and __attribute __((__ packed__))
- 2. python:combine sort-key-functions itemgetter and str.lower
- 3. If/Else Statement and Lists Within Functions - Python 3.x
- 4. 「」.constructor vs 2.constructor使用Javascript
- 5. gcc --- __attribute __((interrupt(irq)))
- 6. Singleton constructor question
- 7. IService Constructor not Constructing
- 8. CUDA&Copy-constructor
- 9. Static Constructor&Singleton class
- 10. var some = [] ['forEach'] ['constructor'];
- 11. 引導.Constructor
- 12. NavigationService.Navigate from page constructor
- 13. 訪問.constructor
- 14. Autorelease iPhone
- 15. Autorelease NSString
- 16. Autorelease CFMutableDictionary
- 17. NSKeyedUnarchiver autorelease?
- 18. NSURLRequest autorelease?
- 19. Static Initializer/Constructor訂購
- 20. GCC -finstrument-functions overhead
- 21. codeacademy「Functions&if/else」
- 22. 導入clojure.contrib.generic.math-functions
- 23. codeacademy「Functions&if/else」
- 24. Ruby EventMachine&functions
- 25. __attribute __((init_priority(X)))在GCC
- 26. JavaScript - constructor內部IIFE
- 27. __attribute __((packed,aligned(n)))和__attribute __((aligned(n)))之間有什麼區別?
- 28. NSOperation和Autorelease池
- 29. NSURLConnection start + autorelease
- 30. ccscene弧和autorelease
也許你應該重新思考這個問題,並以一種不需要這種瘋狂的方式來重構一些東西。 –
爲什麼這很瘋狂?我想創建一個監聽某些通知並自動執行它的事件的單例,以便我的類的用戶只需包含.m文件,而不需要其他任何操作。似乎一個完全合理的方式來實現這一點。我實際上找到了一個已經叫做'BPOCUnitXMLReporter'的例子,它不*包含構造函數中的代碼 - 我猜它沒有使用創建任何自動釋放對象。 – jhabbott