<!-- 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


매크로 개떡칠 해놨는데, 이거 무슨 말인지 이해가 안되노; 대충은 연관성 있는 부분만 긁어서 올렸는데 무슨 말인지 이해되는 게이 있누?