ここでは、Cにコンパイルされたアセンブリにガベージコレクション言語があるとします。では、Cにコンパイルされたときのガベージコレクションの仕組みは?それは完全に決定的になりますか?または、それは定期的に実行され、ゴミを収集する別のプログラムとして、結果のプログラムに含まれていますか?これはたぶん愚かではないにしても非常に簡単ですが、いくつかの説明が必要でした。Cコンパイル言語でのガベージコレクション
0
A
答えて
0
コンパイルされた言語で同様のことを行う方法の1つは、iOSのARC reference countingで行われます。それは技術的にガベージコレクションではありませんが、似たようなものです。メモリを解放するかどうかを確認するために、ヒープを指し示して割り当てられたアドレスを定期的にプログラムメモリで検索する必要があります。
0
Bohem gcが存在します。ただし、デッドオブジェクトへのポインタになるように正しい範囲に整数がある場合、グラフ全体が漏れる可能性があります。 http://hboehm.info/gc/すべてが悪い選択です。
1
C言語にコンパイルしていても、そのような実装は通常、元の言語のランタイムライブラリにリンクします。そのライブラリには、より高いレベルの言語データ用のガベージコレクタが含まれています。 C言語で元の言語のデータを表現するために使用されるデータ構造には、ガベージコレクタに必要な追加フィールドが含まれています。
彼らが使用するかもしれない別のテクニックはconservative garbage collectionです。
関連する問題
- 1. 関数言語をC言語にコンパイルする
- 2. 囲碁言語:コンパイル
- 3. どの言語でC#をコンパイルしました
- 4. ガベージコレクション言語のコードはUnikernelを生成できますか?
- 5. コンパイルされた言語やスクリプト言語が好きですか?
- 6. shにコンパイルする言語
- 7. AWS Lambdaで他の言語をコンパイル
- 8. C++:C言語リンケージ
- 9. プリプロセッサの引数とコンパイル#ifndef #ifdef(C言語)
- 10. C言語でのツイストオルタナティブ
- 11. Teradata UDFのC言語で
- 12. C言語での構文
- 13. エラーメッセージC言語での変数宣言
- 14. C言語:リンクリスト
- 15. 言語C、セグメンテーションエラー
- 16. 言語C - QuickSort
- 17. C言語ポインタ
- 18. C言語、」、
- 19. (C言語)
- 20. C言語ポート
- 21. C言語ビットトリック
- 22. C言語エラー
- 23. コンパイルされたコンパイル済みのプログラミング言語は何ですか?
- 24. C言語のメモリデバッガ
- 25. C#の - DOT言語
- 26. C言語のイテレータ
- 27. C++言語のリファレンス
- 28. ゲームボーイC言語のプログラミングC
- 29. Windows版GLUTヘッダ付きC言語プログラムをコンパイルする(Linux版)
- 30. 最高のWin32コンパイル済みスクリプト言語?
「コンパイル済み」とはどういう意味ですか? – jdarthenay
nimがガベージコレクションされていることを正しく覚えていれば、C、またはnimの実装にコンパイルするようなスキームの実装。 – meguli
Cコードが生成されているとよく分かりますか?その場合、誰も答えを知っていないなら、おそらく、非常に単純なプログラムの生成されたCコードを見てみることができます。 – jdarthenay