<!-- HTML generated using colormycode -->
#define CELLO_ALLOC_HEADER (var)AllocStatic,
#define CELLO_MAGIC_NUM 0xCe110
#define CELLO_MAGIC_HEADER ((var)CELLO_MAGIC_NUM)
#define CELLO_CACHE_HEADER \
NULL, NULL, NULL, NULL, NULL, NULL, \
NULL, NULL, NULL, NULL, NULL, NULL, \
NULL, NULL, NULL, NULL, NULL, NULL,
typedef void* var;
#define is ==
#define isnt !=
#define not !
#define and &&
#define or ||
#define in ,
#define Cello(T, ...) CelloStruct(T, ##__VA_ARGS__)
#define CelloStruct(T, ...) CelloObject(T, sizeof(struct T), ##__VA_ARGS__)
#define CelloEmpty(T, ...) CelloObject(T, 0, ##__VA_ARGS__)
#define CelloObject(T, S, ...) (var)((char*)((var[]){ NULL, \
CELLO_ALLOC_HEADER \
CELLO_MAGIC_HEADER \
CELLO_CACHE_HEADER \
NULL, "__Name", #T, \
NULL, "__Size", (var)S, \
##__VA_ARGS__, \
NULL, NULL, NULL}) + \
sizeof(struct Header))
#define Instance(I, ...) NULL, #I, &((struct I){__VA_ARGS__})
enum {
AllocStatic = 0x01, AllocStack = 0x02,
AllocHeap = 0x03, AllocData = 0x04
};
소스 URL: https://github.com/orangeduck/Cello/blob/master/include/Cello.h
매크로 개떡칠 해놨는데, 이거 무슨 말인지 이해가 안되노; 대충은 연관성 있는 부분만 긁어서 올렸는데 무슨 말인지 이해되는 게이 있누?
댓글 0