int lala(int x) { printf("lala %d", x); return 0; } #define ptr(from,to) \ _asm lea eax, from \ _asm mov to, eax int main(int argc, char* argv[]) { int (*x)(int); ptr(lala,x); x(5); }