Нужно придумать как справляться с вызовом функций которые работают по разному (stdcall и другие) из некоторых зараннее неизвестных dll. Даже одна dll может собираться из obj от разных компиляторов (microsoft, borland и т.п.). Может у кого-то есть готовое решение/идея?
решение можно подсмотреть у Микрософта, например процедура ExceptionHandler под 2k+ может быть и cdecl и stdcall(хотя должна быть cdecl), такая вот "защита от дурака" :77F8F436 ExecuteHandler@20: :77F8F436 push ebp :77F8F437 mov ebp, esp :77F8F439 push [ebp+arg_8] :77F8F43C push edx :77F8F43D push large dword ptr fs:0 :77F8F444 mov large fs:0, esp :77F8F44B push [ebp+arg_10] :77F8F44E push [ebp+arg_C] :77F8F451 push [ebp+arg_8] :77F8F454 push [ebp+arg_4] :77F8F457 mov ecx, [ebp+arg_14] :77F8F45A call ecx :77F8F45C mov esp, large fs:0 :77F8F463 pop large dword ptr fs:0 :77F8F46A mov esp, ebp :77F8F46C pop ebp :77F8F46D retn 14h :77F8F46D _RtlpExecuteHandlerForException@20 endp