![]() |
GL CHOCO ENGINE
|
サブシステム等、ライフサイクルが固定で、個別のメモリ開放が不要なメモリ確保に対応するリニアアロケータモジュールの定義 More...
#include <stddef.h>

Go to the source code of this file.
Typedefs | |
| typedef struct linear_alloc | linear_alloc_t |
| linear_allocator構造体前方宣言 | |
Enumerations | |
| enum | linear_allocator_result_t { LINEAR_ALLOC_SUCCESS = 0 , LINEAR_ALLOC_NO_MEMORY , LINEAR_ALLOC_INVALID_ARGUMENT } |
| linear_allocator実行結果コードリスト More... | |
Functions | |
| void | linear_allocator_preinit (size_t *memory_requirement_, size_t *align_requirement_) |
| linear_alloc_t構造体インスタンスの生成に必要なメモリ使用量とメモリアライメント要件を取得する | |
| linear_allocator_result_t | linear_allocator_init (linear_alloc_t *allocator_, size_t capacity_, void *memory_pool_) |
| linear_alloc_t構造体インスタンスをメモリ容量size_、メモリプール先頭アドレスmemory_pool_で初期化する | |
| linear_allocator_result_t | linear_allocator_allocate (linear_alloc_t *allocator_, size_t req_size_, size_t req_align_, void **out_ptr_) |
| linear_allocatorを使用してメモリを割り当てる | |
サブシステム等、ライフサイクルが固定で、個別のメモリ開放が不要なメモリ確保に対応するリニアアロケータモジュールの定義
メモリアロケータの一つであるLinearAllocatorを実装。特徴は、
gl_choco_engineでは、起動時の各サブシステム用メモリの取得に使用する
| typedef struct linear_alloc linear_alloc_t |
linear_allocator構造体前方宣言
| linear_allocator_result_t linear_allocator_allocate | ( | linear_alloc_t * | allocator_, |
| size_t | req_size_, | ||
| size_t | req_align_, | ||
| void ** | out_ptr_ | ||
| ) |
linear_allocatorを使用してメモリを割り当てる
使用例:
| [in] | allocator_ | linear_alloc_t型構造体インスタンスへのポインタ |
| [in] | req_size_ | 割り当て容量(byte) |
| [in] | req_align_ | 割り当てる構造体インスタンスのアライメント要件 |
| [out] | out_ptr_ | 割り当てたアドレスを格納する |
| LINEAR_ALLOC_INVALID_ARGUMENT | 以下のいずれか
|
| LINEAR_ALLOC_NO_MEMORY | メモリを割り当てた場合、メモリプール内に収まらない |
| LINEAR_ALLOC_SUCCESS | 以下のいずれか
|
| linear_allocator_result_t linear_allocator_init | ( | linear_alloc_t * | allocator_, |
| size_t | capacity_, | ||
| void * | memory_pool_ | ||
| ) |
linear_alloc_t構造体インスタンスをメモリ容量size_、メモリプール先頭アドレスmemory_pool_で初期化する
使用例:
| [in,out] | allocator_ | リニアアロケータ構造体インスタンスアドレス |
| [in] | capacity_ | メモリプール容量(byte) |
| [in] | memory_pool_ | メモリプールアドレス |
| LINEAR_ALLOC_INVALID_ARGUMENT | 以下のいずれか
|
| LINEAR_ALLOC_SUCCESS | リニアアロケータの初期化に成功し、正常終了 |
| void linear_allocator_preinit | ( | size_t * | memory_requirement_, |
| size_t * | align_requirement_ | ||
| ) |
linear_alloc_t構造体インスタンスの生成に必要なメモリ使用量とメモリアライメント要件を取得する
使用例:
| [out] | memory_requirement_ | メモリ使用量格納先 |
| [out] | align_requirement_ | メモリアライメント要件格納先 |