// Very simple code to understand how tlcc works #include #define _TLMP_foo struct _F_foo{ #define _F_foo_func1(x) void x func1() virtual _F_foo_func1( )=0; #define _F_foo_func2(x) void x func2() virtual _F_foo_func2( )=0; }; void foo (_F_foo &c) { c.func1(); c.func2(); } int main () { struct FOO{ int b=11; }; glocal FOO foo; glocal int a = 1; (); printf ("This is func1 foo.b=%d a=%d\n",glocal.foo.b,glocal.a); printf ("This is func2\n"); return 0; }