[過去ログ] C/C++ゲーム製作総合スレッド Part7 [転載禁止]©2ch.net (711レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
288
(2): 名前は開発中のものです。 [] 2015/02/11(水) 00:38:39.31 ID:5bVnp7SH(1/5) AAS
アロケーターはC言語かSTLのやつのことだろ?
OS自体のメモリ管理はOS自体のソースからビルドしないと変更むりでは。
292: 名前は開発中のものです。 [] 2015/02/11(水) 00:59:11.50 ID:5bVnp7SH(2/5) AAS
mallocやnewを置き換えてもOSの命令を使ってたら
OS自体のメモリ管理の制約は受けるわけで。
OSと完全に独立できるものか?
OSが既に管理してるところを横取りしないとならないが。
294
(1): 名前は開発中のものです。 [] 2015/02/11(水) 01:03:22.28 ID:5bVnp7SH(3/5) AAS
malloc - Wikipedia

OSのカーネルでもアプリケーションと同様にメモリ確保が必要である。
カーネル内にもmalloc相当の関数はあるが、その実装はCライブラリのものとは大きく異なる。
例えば、DMA用のバッファには特別な制限が課せられることがあるし、割り込み処理でメモリを動的に確保したい場合もある。
このため、カーネルの仮想記憶サブシステムと密に連携した malloc 実装が要求される。
298: 288 [] 2015/02/11(水) 01:16:23.87 ID:5bVnp7SH(4/5) AAS
>>287に対して、自作アロケータ、マイアロケータってのは
ほとんどのケースで、OSデフォルト、カーネルアロケータに依存してるだろ?って反応なわけで。
302: 名前は開発中のものです。 [] 2015/02/11(水) 01:55:07.09 ID:5bVnp7SH(5/5) AAS
ヒープ、動的確保は丸投げに近いが。普通のauto変数とかは最初に確保した領域を使いまわす。

メモリの4 領域
http://brain.cc.kogakuin.ac.jp/~kanamaru/lecture/MP/final/part06/img6.png

http://brain.cc.kogakuin.ac.jp/~kanamaru/lecture/MP/final/part06/node8.html

テキスト領域:機械語に翻訳されたプログラムが格納される. この機械語の命令が 1 行づつ実行されることでプログラムが動く。

静的領域:グローバル変数などの静的変数が置かれる。

ヒープ領域:メモリの動的管理 (C 言語の malloc 関数や C++ の new 演算子でメモリを確保すること) で用いられる。

スタック領域:今回の演習で扱ったように CPU のレジスタを一時的に退避させたり、また C 言語の自動変数 (多くのローカル変数) が置かれる。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.038s