DelphiにはGarbage Collection
がありますか?Delphiでのガベージコレクション
答えて
単純な答え号
デルファイは、ユーザー定義型は、手動で割り当てと割り当て解除する必要があり、完全なガベージコレクションの言語ではありません。文字列、動的配列、使いやすいインタフェースなど、いくつかの組込み型の自動収集のみを提供します。
しかし、ガベージコレクションの参照カウントをある程度使用するインターフェイスを使用できます。
通常のガベージコレクションでは、ランタイムが参照されていないオブジェクトを検出してそれらを破棄したり、未使用のリソースを再利用したりしますが、Delphiではガベージコレクションはありません。
ネイティブWin32 Delphiを使用する場合、ガベージコレクションに最も近いのは、文字列、インタフェース、バリアント、および動的配列を含むさまざまな参照カウント型です。これらのタイプは、プログラムがもはや使用されていないと判断したときに自動的にクリーンアップされますが、そのオブジェクトが現在のスコープに入ったり出たりするときに参照カウントを保持することによって、そのタイプが自動的にクリーンアップされます。 オーナーシップという概念もあり、所有者が破壊されたときに所有コンポーネントを破壊します。
Delphi for .NETを使用している場合、暗黙的に基本となるランタイムのガベージコレクションがあります。
Delphi.NETは2年以上で死んでいます –
はい、@ユーザー、デルファイ7は10年前からあります死んでいなければならない。さらに、Delphi言語はPrism経由で.Net用に引き続き利用可能です。 –
Prismは共有ソースを試みていないので、私はそれを継続として正確には見ません。商標を除く。 –
はい、あります。
デルファイのWin32には、のガベージコレクタが含まれていないため、この質問に対するその他の回答は技術的に正しいものです。しかし、これは不可能であるか、存在していないことを意味するものではありません。 Delphiの交換可能なメモリマネージャBarry Kellyのおかげでそれは(基本的に割り当てられていないオブジェクトを作成し、GCがそれらをかむ見て)その使用方法を示すサンプルコードが含まれて2004年
に戻っBoehm garbage collectorためwrapper完全に機能を実装しました。 Boehm GCより高度なGCがありますが、これは可能なことをはっきりと示しており、ほぼ透過的に使用できます。プロジェクトのuses節の先頭にgcユニットを追加するだけです。
私はそれを試しているプロジェクトについて聞いたことがありませんが、誰かがより高度なgcをラップまたは移植するのを妨げるものは何もありません。それは、.NETに基づいている
デルファイプリズム
はガベージコレクションを持っている
標準デルファイ
がガベージコレクション
デルファイのWin32を持っていません(Win32ネイティブ)/64にはガベージコレクタがありません。 しかし、Delphiのネイティブ参照カウントメカニズムを利用して、インターフェイスを使用してインスタンスを自動的にリリースすることができます。
ガベージコレクタと参照カウントメカニズムの違いは、循環参照に対処する必要があることです。つまり、AインスタンスとBインスタンスが互いに参照する場合は、AまたはBが解放されるサイクルを手動で解除する必要があります。
- 1. Javascriptでのガベージコレクション
- 2. Perlスレッドでのガベージコレクション
- 3. ガベージコレクション
- 4. ガベージコレクション
- 5. ココアでのガベージコレクションの質問
- 6. プライベートメソッドコールのガベージコレクション
- 7. Visual Basicのガベージコレクション
- 8. プライベートフィールドのガベージコレクション
- 9. Javaのガベージコレクション
- 10. Pythonスレッドのガベージコレクション
- 11. Cコンパイル言語でのガベージコレクション
- 12. requestAnimationFrameガベージコレクション
- 13. ガベージコレクションが
- 14. Adobe Flashのガベージコレクション
- 15. 静的メンバーのガベージコレクション
- 16. nodejsガベージコレクションの出力
- 17. Rxのサブスクリプションとガベージコレクション
- 18. Javaのガベージコレクションとヌル
- 19. 内部オブジェクトのガベージコレクション
- 20. asp.netガベージコレクションの通知
- 21. ガベージコレクションの対象オブジェクト
- 22. プールのガベージコレクション戦略
- 23. クロームメモリ/ガベージコレクションの問題
- 24. ガベージコレクションの問題Android
- 25. Objective-Cとガベージコレクション
- 26. iOS用ガベージコレクション
- 27. THREE.js webGLガベージコレクション
- 28. バックグラウンドワーカーとガベージコレクション?
- 29. javascript addEventListener - ガベージコレクション
- 30. 余分なガベージコレクション?
TComponentから派生したものがコンストラクタを介して所有者ポインタを取得することにより、オブジェクトが所有者と共に破棄されるという事実も重要です。 –
デルファイガーベッジは、動的配列、文字列などの一部のデータ型を収集します。 –
Delphiは、インタフェースの存続期間(RefCountの実装)と別のタイプを管理する方法であるARC(Automatic Reference Counting)に精通しています。 最近、最新のDelphiモバイルコンパイラがオブジェクトにARCを導入しました。これはコンパイラ指令 "{$ AUTOREFCOUNT}"によって制御されます。 http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Automatic_Reference_Counting_in_Delphi_Mobile_Compilers – Lucas