0

私には 2 種類のソフトウェア開発者がいて、1 つはネイティブに焦点を当て、もう 1 つはorにC焦点を当てており、組み込みによる統合ソフトウェアを開発しています。私たちはオンライン学習でそれを行いましたが、最初は問題ないように思えました。しかし、徐々に、メモリ破損に関するバグに遭遇することがますます多くなっています。マネージャーとして、メモリ破損統合ソフトウェアに貢献しないように、反対側と大量の相互運用機能に慣れるようにトレーニングするのは費用がかかりますが、標準コードを使用する方が安いのではないかと考えています。.NetmonomonoC

  • GCステップ1モノを呼び出す前にスレッドを停止し、
  • ステップ 2 呼び出しresult = mono_runtime_invoke(..)、および
  • ステップ3GC結果に関するすべての処理がコードによって行われた後、スレッドを開始しCます。

メモリの破損は、データを解放/移動してCいるときに、管理されたスペースを指すポインターで何かをしていることがよくあります。GC

これとコメントを達成する方法は?

4

1 に答える 1

2

推奨される方法は、管理対象オブジェクトにGCHandlesを作成して、GCを停止するのではなく、GCがそれらを認識できるようにすることです。

これは、次の関数を使用して実行されます。

mono_gchandle_new
mono_gchandle_new_weakref
mono_gchandle_get_target
mono_gchandle_free
于 2012-11-14T11:24:57.697 に答える