spBase
読み取り中…
検索中…
一致する文字列を見つけられません
メモリ管理

マクロ定義

#define xspAlloc(n, type)   (type *)xspMalloc((int)(n)*sizeof(type))
 
#define xspRealloc(p, n, type)   (type *)xspRemalloc((char *)(p), (int)(n)*sizeof(type))
 
#define xspFree(p)   {_xspFree((char *)(p)); (p) = NULL;}
 
#define spArrayCopy(p1, p2, n, type)   memmove((char *)(p1), (char *)(p2), (unsigned)(n)*sizeof(type))
 

関数

char * xspMalloc (int nbytes)
 
char * xspRemalloc (char *p, int nbytes)
 
void _xspFree (char *p)
 
int ** xspIMatAlloc (int row, int col)
 
void xspIMatFree (int **mat, int row)
 
short ** xspSMatAlloc (int row, int col)
 
void xspSMatFree (short **mat, int row)
 
long ** xspLMatAlloc (int row, int col)
 
void xspLMatFree (long **mat, int row)
 
float ** xspFMatAlloc (int row, int col)
 
void xspFMatFree (float **mat, int row)
 
double ** xspDMatAlloc (int row, int col)
 
void xspDMatFree (double **mat, int row)
 
char ** xspCMatAlloc (int row, int col)
 
void xspCMatFree (char **mat, int row)
 
unsigned char ** xspUCMatAlloc (int row, int col)
 
void xspUCMatFree (unsigned char **mat, int row)
 
char * xspStrClone (const char *string)
 

詳解

マクロ定義詳解

◆ xspAlloc

#define xspAlloc ( n,
type )   (type *)xspMalloc((int)(n)*sizeof(type))

Macro to allocate memory.

メモリを確保するためのマクロです.この関数で確保したメモリは, xspFree() を用いて解放して下さい.

引数
[in]n確保するメモリの長さを指定します.確保されるメモリのサイズは, n * sizeof(type) となります.
[in]type確保されるメモリの型を指定します. short , long , float , double などを直接指定して下さい.
戻り値
割り当てられたメモリブロックを示すポインタが返ります.
参照
xspFree()

◆ xspRealloc

#define xspRealloc ( p,
n,
type )   (type *)xspRemalloc((char *)(p), (int)(n)*sizeof(type))

Macro to resize the allocated memory block.

メモリブロックのサイズを変更するためのマクロです.

引数
[in]pすでに確保されたメモリブロックを示すポインタを指定します.NULLの場合は,新たにメモリが確保されます.
[in]nメモリの長さを指定します.変更後のメモリのサイズは,n * sizeof(type) となります.
[in]type確保されるメモリの型を指定します.short,long,float,doubleなどを直接指定して下さい.
戻り値
サイズが変更されたメモリブロックを示すポインタが返ります.
参照
xspFree()

◆ xspFree

#define xspFree ( p)    {_xspFree((char *)(p)); (p) = NULL;}

Macro to free the allocated memory block.

メモリを解放するマクロです.

引数
[in]pxspMalloc() などにより確保されたメモリブロックを示すポインタを指定します.メモリを解放後, p を NULL に初期化します.
参照
xspMalloc() , xspAlloc() , xspRemalloc() , xspRealloc()
各種例
dirtest.c.

◆ spArrayCopy

#define spArrayCopy ( p1,
p2,
n,
type )   memmove((char *)(p1), (char *)(p2), (unsigned)(n)*sizeof(type))

配列をコピーするためのマクロです.

引数
[out]p1コピー先のポインタを指定します.
[in]p2コピー元のポインタを指定します.
[in]nコピーする長さを指定します.コピーされる長さは,n * sizeof(type) となります.
[in]typeデータ型を指定します.short,long,float,doubleなどを直接指定して下さい.

関数詳解

◆ xspMalloc()

char * xspMalloc ( int nbytes)
extern

Allocates memory.

メモリを確保します.この関数で確保したメモリは, xspFree() を用いて解放して下さい.

引数
[in]nbytes確保するメモリのサイズを指定します.
戻り値
割り当てられたメモリブロックを示すポインタが返ります.
参照
xspFree() , xspAlloc()

◆ xspRemalloc()

char * xspRemalloc ( char * p,
int nbytes )
extern

Resize the allocated memory block.

メモリブロックのサイズを変更します.

引数
[in]pすでに確保されたメモリブロックを示すポインタを指定します. NULL の場合は,新たにメモリが確保されます.
[in]nbytesメモリのサイズを指定します.
戻り値
サイズが変更されたメモリブロックを示すポインタが返ります.
参照
xspFree() , xspRealloc()

◆ _xspFree()

void _xspFree ( char * p)
extern

Frees memory. Use xspFree() instead of this function.

メモリを解放します.この関数の代わりに, xspFree() を使用して下さい.

引数
[in]pxspMalloc() などにより確保されたメモリブロックを示すポインタを指定します.
参照
xspFree()

◆ xspIMatAlloc()

int ** xspIMatAlloc ( int row,
int col )
extern

Allocates memory for a 2-d array of int type.

二次元配列として使用できるメモリを確保します.この関数で確保したメモリは, xspIMatFree() を用いて解放して下さい.

引数
[in]row行の数を指定します.
[in]col列の数を指定します.
戻り値
割り当てられたメモリブロックを示すポインタのポインタが返ります.これは,二次元配列と同様に使用して構いません.
参照
xspIMatFree()

◆ xspIMatFree()

void xspIMatFree ( int ** mat,
int row )
extern

Frees memory of a 2-d array of int type.

xspIMatAlloc() により割り当てたメモリを解放します.

引数
[in]matxspIMatAlloc() により確保されたメモリブロックを示すポインタのポインタを指定します.
[in]row確保されている行の数を指定します.確保した場合の行数とこの数が異なる場合の動作は保証されません.
参照
xspIMatAlloc()

◆ xspSMatAlloc()

short ** xspSMatAlloc ( int row,
int col )
extern

Allocates memory for a 2-d array of short type.

二次元配列として使用できるメモリを確保します.この関数で確保したメモリは, xspSMatFree() を用いて解放して下さい.

引数
[in]row行の数を指定します.
[in]col列の数を指定します.
戻り値
割り当てられたメモリブロックを示すポインタのポインタが返ります.これは,二次元配列と同様に使用して構いません.
参照
xspSMatFree()

◆ xspSMatFree()

void xspSMatFree ( short ** mat,
int row )
extern

Frees memory of a 2-d array of short type.

xspSMatAlloc() により割り当てたメモリを解放します.

引数
[in]matxspSMatAlloc() により確保されたメモリブロックを示すポインタのポインタを指定します.
[in]row確保されている行の数を指定します.確保した場合の行数とこの数が異なる場合の動作は保証されません.
参照
xspSMatAlloc()

◆ xspLMatAlloc()

long ** xspLMatAlloc ( int row,
int col )
extern

Allocates memory for a 2-d array of long type.

二次元配列として使用できるメモリを確保します.この関数で確保したメモリは, xspLMatFree() を用いて解放して下さい.

引数
[in]row行の数を指定します.
[in]col列の数を指定します.
戻り値
割り当てられたメモリブロックを示すポインタのポインタが返ります.これは,二次元配列と同様に使用して構いません.
参照
xspLMatFree()

◆ xspLMatFree()

void xspLMatFree ( long ** mat,
int row )
extern

Frees memory of a 2-d array of long type.

xspLMatAlloc() により割り当てたメモリを解放します.

引数
[in]matxspLMatAlloc() により確保されたメモリブロックを示すポインタのポインタを指定します.
[in]row確保されている行の数を指定します.確保した場合の行数とこの数が異なる場合の動作は保証されません.
参照
xspLMatAlloc()

◆ xspFMatAlloc()

float ** xspFMatAlloc ( int row,
int col )
extern

Allocates memory for a 2-d array of float type.

二次元配列として使用できるメモリを確保します.この関数で確保したメモリは, xspFMatFree() を用いて解放して下さい.

引数
[in]row行の数を指定します.
[in]col列の数を指定します.
戻り値
割り当てられたメモリブロックを示すポインタのポインタが返ります.これは,二次元配列と同様に使用して構いません.
参照
xspFMatFree()

◆ xspFMatFree()

void xspFMatFree ( float ** mat,
int row )
extern

Frees memory of a 2-d array of float type.

xspFMatAlloc() により割り当てたメモリを解放します.

引数
[in]matxspFMatAlloc() により確保されたメモリブロックを示すポインタのポインタを指定します.
[in]row確保されている行の数を指定します.確保した場合の行数とこの数が異なる場合の動作は保証されません.
参照
xspFMatAlloc()

◆ xspDMatAlloc()

double ** xspDMatAlloc ( int row,
int col )
extern

Allocates memory for a 2-d array of double type.

二次元配列として使用できるメモリを確保します.この関数で確保したメモリは, xspDMatFree() を用いて解放して下さい.

引数
[in]row行の数を指定します.
[in]col列の数を指定します.
戻り値
割り当てられたメモリブロックを示すポインタのポインタが返ります.これは,二次元配列と同様に使用して構いません.
参照
xspDMatFree()

◆ xspDMatFree()

void xspDMatFree ( double ** mat,
int row )
extern

Frees memory of a 2-d array of double type.

xspDMatAlloc() により割り当てたメモリを解放します.

引数
[in]matxspDMatAlloc() により確保されたメモリブロックを示すポインタのポインタを指定します.
[in]row確保されている行の数を指定します.確保した場合の行数とこの数が異なる場合の動作は保証されません.
参照
xspDMatAlloc()

◆ xspCMatAlloc()

char ** xspCMatAlloc ( int row,
int col )
extern

Allocates memory for a 2-d array of char type.

二次元配列として使用できるメモリを確保します.この関数で確保したメモリは, xspCMatFree() を用いて解放して下さい.

引数
[in]row行の数を指定します.
[in]col列の数を指定します.
戻り値
割り当てられたメモリブロックを示すポインタのポインタが返ります.これは,二次元配列と同様に使用して構いません.
参照
xspCMatFree()

◆ xspCMatFree()

void xspCMatFree ( char ** mat,
int row )
extern

Frees memory of a 2-d array of char type.

xspCMatAlloc() により割り当てたメモリを解放します.

引数
[in]matxspCMatAlloc() により確保されたメモリブロックを示すポインタのポインタを指定します.
[in]row確保されている行の数を指定します.確保した場合の行数とこの数が異なる場合の動作は保証されません.
参照
xspCMatAlloc()

◆ xspUCMatAlloc()

unsigned char ** xspUCMatAlloc ( int row,
int col )
extern

Allocates memory for a 2-d array of unsigned char type.

二次元配列として使用できるメモリを確保します.この関数で確保したメモリは, xspUCMatFree() を用いて解放して下さい.

引数
[in]row行の数を指定します.
[in]col列の数を指定します.
戻り値
割り当てられたメモリブロックを示すポインタのポインタが返ります.これは,二次元配列と同様に使用して構いません.
参照
xspUCMatFree()

◆ xspUCMatFree()

void xspUCMatFree ( unsigned char ** mat,
int row )
extern

Frees memory of a 2-d array of unsigned char type.

xspUCIMatAlloc() により割り当てたメモリを解放します.

引数
[in]matxspUCMatAlloc() により確保されたメモリブロックを示すポインタのポインタを指定します.
[in]row確保されている行の数を指定します.確保した場合の行数とこの数が異なる場合の動作は保証されません.
参照
xspUCMatAlloc()

◆ xspStrClone()

char * xspStrClone ( const char * string)
extern

Makes a clone of the string.

文字列の複製を作成します.

引数
[in]string複製したい文字列を指定します.
戻り値
複製された文字列が返ります.この戻り値は, xspFree() を用いて解放して下さい.
参照
xspFree()