エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント1件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Pythonのコンパイラを作りたい #6 - ランタイムとメモリ管理
こんにちは。前回 (「#5 - リストと辞書の実装」) では、Python 的なリストや辞書を C 言語でどのように... こんにちは。前回 (「#5 - リストと辞書の実装」) では、Python 的なリストや辞書を C 言語でどのように再現しているか、その実装の概要をご紹介しました。 今回のテーマは、ランタイムとメモリ管理です。 リストや辞書などのオブジェクトを動的に生成していく過程で、どのようにメモリを確保・解放しているのか、そして なぜ Boehm GC (ガーベジコレクタ) を導入したのか について具体的にお話しします。 1. 当初は自前でメモリ管理していた 1-1. ポインタの連鎖が増えて混乱した 開発初期には「C 言語で書くんだから、malloc と free をうまく使えば十分だろう」と考えていました。しかし、Python の世界観をある程度再現しようとすると、以下のような複雑さがすぐに表面化します。 リストや辞書の中に多様なオブジェクトが入り、それぞれがまた別の構造体を参照している クラスや関



2025/03/10 リンク