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バイト目を入れ替える |