2012-12-10 18 views
4

ServiceStack.Text.JSConfig有關於MonoTouch AOT幫助器的文檔嗎?有沒有關於MonoTouch AOT助手的ServiceStack.Text.JSConfig的任何文檔?

我發現這個... ServiceStack JIT Error on MonoTouch 我已經看了一下代碼,但沒有評論,坦率地說它有點神祕。

根據我對AOT過程的理解,確保發出的類型/方法是在編譯器認爲可以使用/調用的源代碼中擁有該類型/方法。在運行時沒有必要實際使用/調用任何東西。 AOT的重點在於它是一個編譯過程。因此,只要優化器不刪除它,將use/call放入未使用的方法內就可以工作。

我一直在嘗試使用ServiceStack.Text.JsConfig.RegisterTypeForAot(); (在一個未使用的方法)來治癒我的AOT問題,但遇到其他奇怪的問題時,我有太多的電話。請參閱其他問題...

Calling ServiceStack.Text.JsConfig.RegisterTypeForAot<T>(); with MonoTouch causes SIGSEGV on startup on device

難道我也許是使用RegisterTypeForAot()方法錯誤? 其他方法有什麼作用? RegisterForAot()和InitAot()

回答

1

沒有文檔中關於JsConfig.InitForAot()比什麼已經in-line in the JsConfig,即其他:

提供提示MonoTouch的AOT編譯器的預編譯泛型類 您所有的DTO。只需要在一個靜態的 構造函數中調用一次。

你應該只需要調用JsConfig.InitForAot()存根併爲每種類型讓MonoTouch的編譯器JsConfig.RegisterTypeForAot<T>()知道需要讓所有的代碼都可以通用的反射預先生成的時間提前了什麼通用代碼。如果遇到問題,請提交一個包含GitHub project issues上的問題的小型獨立測試用例,以便我們瞭解是否有任何解決方法可以完成。

相關問題