ゲームプログラムなら俺に聞け10
■ このスレッドは過去ログ倉庫に格納されています
0402デフォルトの名無しさん
2010/09/17(金) 10:57:23動的確保のアロケータ書いたことあるなら分かると思うけど、確保より開放が重い。
ある処理でいくつか(最大値は分かっている)動的確保する必要があって、
終わった後に全部いらなくなるってことはよくある。
例えば1フレーム中で動的確保するが次のフレームではまったくそれらを流用しない、というような場合。
以下のようなアロケータはその手の定石。
static unsigned char gHeapBuf[1024 * 256];
static unsigned char *gHeapPtr;
void init(void) { gHeapPtr = gHeapBuf; }
void *alloc(size_t nbyte) { return (void *)((gHeapPtr += nbyte) - nbyte); }
void free(void *) { /* nop */ }
■ このスレッドは過去ログ倉庫に格納されています