MemArea

  • (by K, 2019.03.06)

(0)

  • 名称を「ポインタ&サイズ」の略でpsにすると、たまに使うポインタスロットにかぶってしまうので、略称がmaになるMemAreaにしてみた。

(1)

typedef struct Kma_ {
    char *p;
    int s, i, m, u;
} Kma;

void kma_0(Kma *ma, int m)
{
    ma->p = malloc(m);
    if (ma->p == 0)
        kerr("kma_0: out of memory");
    ma->s = m;
    ma->i = 0;
    ma->m = m;
    ma->u = 64 * 1024;
}

void kma_t(Kma *ma)
{
    if (ma->i + ma->m >= ma->s) {
        ma->p = realloc(ma->p, ma->s + ma->u);
        if (ma->p == 0)
            kerr("kma_t: out of memory");
        ma->s += ma->u;
    }
}

リロード   新規 編集 差分 添付   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
Last-modified: 2019-03-06 (水) 12:26:13 (165d)