「Memory(API)」の版間の差分

提供: Eospedia
移動: 案内検索
(ページの作成:「General/'''Memory'''はメモリー管理のためのAPI です。 == 定数 == == 構造体 == typedef void* Memory; == API == ===メモリー領域の確保=== #de...」)
 
(相違点なし)

2014年5月16日 (金) 02:47時点における最新版

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