3 ms·
For win32 style code multiple different versions of msvcrt in same process is mostly fine except when some of the dlls involved in that is built without sxs man
by dfox 5y ago
For win32 style code multiple different versions of msvcrt in same process is mostly fine except when some of the dlls involved in that is built without sxs manifest (it will probably still work, but produces modal ShowMessage saying that you should no do that).
The issue is then when porting stuff from unix world which expects that you can pass things like FILE* between different modules or that you can return malloc()'d thing that can be free()'d by the caller.
Edit: another thing is that on windows there are CRT implementations that do not implement C++ exceptions and setjmp/longjmp in terms of SEH, which creates additional dimension of hard to debug ABI incompatibilities (and sidestepping this issue involves being sure that SEH unwind will not happen through SEH unaware code, which is essentially impossible to do unless you handle that as an fatal error).