1 extern void abort (void); 2 3 void 4 __cdecl 5 lib2foocdecl(int junk1, int* junk2); 6 7 void 8 __stdcall 9 lib2foostdcall(int junk1, int* junk2); 10 11 void 12 __fastcall 13 lib2foofastcall(int junk1, int* junk2); 14 15 void 16 __cdecl 17 lib1foocdecl(int junk1, int* junk2) 18 { 19 lib2foocdecl(junk1, junk2); 20 } 21 22 void 23 __stdcall 24 lib1foostdcall(int junk1, int* junk2) 25 { 26 lib2foostdcall(junk1, junk2); 27 } 28 29 void 30 __fastcall 31 lib1foofastcall(int junk1, int* junk2) 32 { 33 lib2foofastcall(junk1, junk2); 34 } 35 36 int main() 37 { 38 int junk[3]; 39 lib1foofastcall (1, &junk[0]); 40 lib1foostdcall (2, &junk[1]); 41 lib1foocdecl (3, &junk[2]); 42 if (junk[1] != 2 || junk[0] != 1 || junk[2] != 3) 43 abort (); 44 45 return 0; 46 } 47 48