非解釈言語でガベージコレクタを使用することは可能ですか?解釈された言語では、インタープリターはプログラムを1行ずつ実行するため、インタープリターはGCをランタイムに提供することもできます。しかし、コード自体にGCを構築しなくても、他の言語のガベージコレクタを使用することは可能ですか?未翻訳言語にガベージコレクタがありますか?
答えて
はい。
スマートポインタを実装したC++では、スマートポインタの参照カウントがゼロになるため、ガベージコレクトされます。
ガベージコレクションがあります。あなたはそれを自分で構築しませんでした。
質問はガベージコレクションのトレースに関するものだと思うし、refcountは代用ではありません。 –
これはガベージコレクションではありません。サイクルを持つようにいくつかのオブジェクトを接続し、サイクルを手動で中断しない限り破壊されることはありません。 – sharptooth
@sharptooth:世界ではなく、他の世界と一緒に取ってください。http://www.codeproject.com/KB/cpp/automatic_gc_using_sp.aspx –
ガベージコレクションでは、ランタイムがそれらを識別してガベージコレクションに使用できるように、ポインタ変数に特別な方法でマークする必要があります。解釈/コンパイルとは関係ありませんが、特別なランタイムが必要で、各変数に追加のデータを格納する必要があります。
よく解釈された言語はあなたにランタイムを与えます。 Interpretorがランタイムとして動作し、ガベージコレクタを実行することは、少なくとも簡単です。どのネイティブ言語でも、実行時にOSが使用されますか?したがってGCはありませんか? – Geek
GCと解釈はお互いに無関係です。はい、インタプリタ言語でガベージコレクションを行うほうが簡単ですが、解釈されない言語でもこれを行うことができます。 OSは通常、ガベージコレクションの埋め込みサポートを持っていませんが、多くの言語ランタイムにはあります。 – sharptooth
ポインタ変数を特別な方法でマーキングしなくても、すべてのメモリ内容を潜在的なポインタとして扱う、いわゆる保守的GCを持つことができます。他の答えでBoehmのGCを参照してください。 –
Objective-C 2には現在ガベージコレクションがあり、C++でも利用できるガベージコレクションライブラリがあります。
オブジェクトツリーを走査できるようにオブジェクトを検査することができる言語があれば、それが可能だと思います。
どのように動作するか説明してください。これはあなたのプログラムと一緒にGCスレッドを添付するようなものですか? – Geek
独立したスレッドは、GCとは無関係です。ちょうどJavaのやり方と同じです。ほとんどのC++(およびObjective-C)は、refカウントがゼロになると削除時にそれを処理します。 –
Objective-C 2には実際のガベージコレクションがあります。ランタイムはオブジェクトツリーを横断します。ガベージコレクションが有効になっていると、参照カウントは無視されます。私はイベントループの一部だと信じていますが、わかりません。 –
新しいC++ 0xには、ガベージコレクションの実装を容易にする機能が含まれています。たとえばinterviewを参照してください。
はい - コンパイル言語での実際の実装のためにhttp://www.hpl.hp.com/personal/Hans_Boehm/gc/
リンクが無効です。 – Trilarion
http://www.hboehm.info/gc/ –
、この場合には、Cおよび/またはC++は、Haskellのは、それがネイティブコードにコンパイルされていますか、ガベージコレクションを持っているhttp://www.hpl.hp.com/personal/Hans_Boehm/gc/
でベームGCを見ますまたは解釈される。
- 1. 言語翻訳
- 2. デフォルト言語をポルトガル語に翻訳する方法はありますか?
- 3. スクリプト言語を他の言語に翻訳できますか?
- 4. PHPでの言語翻訳
- 5. iphoneの言語翻訳
- 6. iPhone - initWithBarButtonSystemItemと言語翻訳
- 7. Android言語の翻訳エラー
- 8. ASP.NETでの言語翻訳
- 9. iPhone用言語翻訳API
- 10. ある言語から別の言語にコードを手動で翻訳する
- 11. Androidで言語を別の言語に翻訳する方法
- 12. Drupal 6多言語サイト - ノードタイプで翻訳する権限はありますか?
- 13. ある言語の音声を別の言語に翻訳する
- 14. Zendカスタム言語を翻訳する
- 15. 技術用語を英語から他の言語に翻訳しますか?
- 16. jQuery言語翻訳が機能していませんか?
- 17. は、複数の言語での翻訳
- 18. カスタムウィジェットへの言語翻訳の統合
- 19. LinguaPloneの言語ごとの翻訳者
- 20. Apache言語での翻訳言語の作業
- 21. React-intl多言語アプリ:言語と翻訳の変更ストレージ
- 22. TYPO3:tt_news多言語設定 - 翻訳がありませんが、[more]リンクが表示されます
- 23. cURLをPythonの要求言語に翻訳するには?
- 24. アプリケーションを別の言語に翻訳するには?
- 25. C/C++の速度にバッファオーバーフローのない言語があり、ガベージコレクタがありますか?
- 26. 翻訳された言語が保護されていますか?
- 27. CakePH言語の翻訳が印刷されない
- 28. PHPの文字列を他の言語に翻訳する
- 29. プログラミング言語のテキスト翻訳フレームワークを取得するには?
- 30. アプリケーションのGUIを他の言語に翻訳する方法
「解釈済み」と「ネイティブ」の間に間違った二分法を仮定しているのだろうかと思います。たとえば、JavaやC#は、 "解釈"も "ネイティブ"でもなく、本質的にはVM内で実行されますが、ILから実行されます。 –
あなたはもっと説明できますか? – Geek
その会話については、私の返信のコメントを見てください。 –