chamando código armazenado no heap de vc ++

Imagine que estou fazendo algo assim:

void *p = malloc (1000);
*((char*)p) = some_opcode;
*((char*)p+1) = another_opcode; // for the sake of the example: the opcodes are ok

....
etc...

Como posso definir um ponteiro de função para chamar p como se fosse uma função? (estou usando o VC ++ 2008 express).

obrigado

questionAnswers(4)

yourAnswerToTheQuestion