4

MonoTouch AOT ヘルパーに関する ServiceStack.Text.JSConfig のドキュメントはありますか?

私はこれを見つけました... MonoTouchのServiceStack JITエラー と私はコードを見てきましたが、コメントはなく、率直に言って少し不思議です。

AOT プロセスの私の理解から、型/メソッドが発行されることを確認するために行う必要があるのは、コンパイラが使用/呼び出される可能性があると考えるソースにその型/メソッドを含めることだけです。実行時に実際に何かを使用/呼び出す必要はありません。AOT の要点は、それがコンパイル時のプロセスであるということです。したがって、使用されていないメソッド内に use/call を置くことは、オプティマイザーがそれを削除しない限り機能します。

ServiceStack.Text.JsConfig.RegisterTypeForAot(); を使用しようとしています。(未使用のメソッドで)AOTの問題を解決しましたが、呼び出しが多すぎると他の奇妙な問題に遭遇しました。他の質問を参照してください...

ServiceStack.Text.JsConfig.RegisterTypeForAot<T>(); を呼び出しています。MonoTouch を使用すると、デバイスの起動時に SIGSEGV が発生する

RegisterTypeForAot() メソッドを間違って使用している可能性がありますか? 他の方法は何をしますか?RegisterForAot() と InitAot()

4

1 に答える 1

1

JsConfig ですでにインラインになってJsConfig.InitForAot()いるもの以外に関するドキュメントはありません。

MonoTouch AOT コンパイラにヒントを提供して、すべての DTO のジェネリック クラスをプリコンパイルします。静的コンストラクターで 1 回だけ呼び出す必要があります。

すべてのコードがジェネリック リフレクションで使用できるように、事前にどのジェネリック コードを生成する必要があるかを MonoTouch コンパイラーに知らせるために、JsConfig.InitForAot()スタブと各型に対してのみ呼び出す必要があります。問題が発生した場合は、 GitHub プロジェクトJsConfig.RegisterTypeForAot<T>()の問題に関する問題を含む小さなスタンドアロン テスト ケースを送信してください。これにより、実行できる回避策があるかどうかを確認できます。

于 2012-12-11T01:48:55.720 に答える