LISP Scheme Part2
■ このスレッドは過去ログ倉庫に格納されています
0196デフォルトの名無しさん
NGNGchar* heap[SIZE_HEAP];
char* currentp = heap + SIZE_HEAP;
enum tag_t {
TAG_INT, ...
};
#define ALLOC_CELL(x) (currentp -= (x << TAGBITS))
#define BIND_TAG(p, id) (p |= TAG_INT & TAGMASK)
obj* make_int(int x)
{
int* p = ALLOC_CELL(1);
BIND_TAG(p, TAG_INT);
*p = x;
return (obj*)p;
}
こういうことじゃない?
■ このスレッドは過去ログ倉庫に格納されています