- 论坛徽章:
- 0
|
回复 332# OwnWaterloo
Coo - C, Object Oriented
http://sourceforge.net/projects/coo/
#ifndef __COO_H__
#define __COO_H__
typedef struct VTable /*root of every virtual table class*/
{
long offset; /*servers for FREE*/
} VTable;
#define EXTENDS(s) \
union \
{ \
s s; \
s; \
};
#define EXTENDS2(s,vt) \
union \
{ \
const vt* v; \
s s; \
s; \
};
#ifndef offsetof
#define offsetof(s,m) ((long)&((s*)0)->m)
#endif
#define SUPER(s,m,p) ((s*)((char*)(p)-offsetof(s,m)))
#define FREE(p,v) free((char*)(p)-(v)->offset)
#endif |
|