Memory(API)

提供: Eospedia
移動: 案内検索

General/Memoryはメモリー管理のためのAPI です。

定数

構造体

typedef void* Memory;

API

メモリー領域の確保

#define MemoryAllocate(type,num,message) (type*)memoryAllocate(sizeof(type)*(num),message)
extern Memory memoryAllocate(size_t byte, char* message);

メモリー領域の解放

#define memoryFree(ptr) free(ptr)

バイト単位でのコピー

dstにsrcをコピーします。

extern Memory memoryCopy(Memory dst, Memory src, size_t byte);

メモリー領域を確保してsrcをコピーします。

extern Memory memoryDuplicate(Memory src, size_t byte);

メモリーの書き換え

srcのデータをnで埋めます。

extern Memory memoryClear(Memory src, size_t, char n);

バイトスワップ

バイト単位でデータの入れ替えをします。エンディアン変換でも使用します。

extern Memory memoryByteSwap(Memory src, size_t, int n);

size_tにより入れ替える箇所が異なります。

size_t 説明
1 処理なし
2 0バイト目と1バイト目を入れ替える
4 0バイト目と3バイト目を入れ替える
1バイト目と2バイト目を入れ替える
8 n=0, ... , 3について
nバイト目と7-nバイト目を入れ替える