#include <stdio.h>
int __stdcall test(){
return printf("test\n");
}
int __stdcall test2(){
return printf("test2\n");
}
typedef int (__stdcall *FARPROC)(void);
typedef int (__stdcall *TEST)(void);
typedef int (__stdcall *TEST2)(void);
typedef int (__stdcall *TEST3)(void);
TEST pTest;
TEST2 pTest2;
TEST3 pTest3;
FARPROC getAddr(int i){
FARPROC result = NULL;
if(i == 0)
result = test;
else if(i==1)
result = test2;
return result;
}
void main(){
int result = 1;
for(int i = 0; i >= 0; i++){
pTest = (TEST)getAddr(0);
result &= pTest != NULL;
pTest2 = (TEST2)getAddr(1);
result &= pTest2 != NULL;
pTest3 = (TEST3)getAddr(2);
result &= pTest3 != NULL;
}
}