Ove Kaaven ovek@arcticnet.no writes:
Alexandre Julliard skrev:
All other Windows compilers have to respect the ABI as defined by MSVC, if only because all the system dlls are built with MSVC.
Well, we don't really know how the system dlls are built, they could have different compiler flags and pragmas than the msvcrt, just to protect them against this sort of thing (I doubt a system like Delphi would really need msvcrt, so it wouldn't have to conform to the MSVC ABI, it'd just have to not crash the system DLLs). I don't know, but it's a possibility I wouldn't dismiss out of hand.
My test with lstrcat demonstrates that this is not the case (lstrcat is in kernel32, not in msvcrt). I don't see any reason to believe that msvcrt is built with a different ABI than the rest of the system.