<div dir="ltr">On Thu, Mar 28, 2013 at 12:19 PM, Óscar Fuentes <span dir="ltr"><<a href="mailto:ofv@wanadoo.es" target="_blank">ofv@wanadoo.es</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class="im"><span style="color:rgb(34,34,34)">What do you mean by "the full platform"? Every propietary extension that</span><br></div>
MS came with along all these years? (From structured exceptions to<br>
whatever Windows RT requires?)<br>
<br>
MinGW is very well capable of using the Win32 API. There is partial or<br>
non-existent support for extensions such as COM, but those are not part<br>
of the "ABI", for sure.<br>
<div class="im"><div style="color:rgb(34,34,34)"><span style="font-family:arial,sans-serif;font-size:13px"></span></div></div></blockquote><div><br></div><div>Mingw interoperates with the Win32 API, yes, but it's able to without having full C ABI compatibility with MSVC. For one, most of the Win32 API has its own "stdcall" calling convention, which is different from either Mingw's or MSVC's "cdecl" ABIs. The Win32 API also avoids passing or returning structs or other non-primitives by value, because C and Pascal compilers back in the early 90s didn't behave consistently outside of a small subset of C functionality, and MSVC and Mingw still don't.</div>
<div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="im"><div style="color:rgb(34,34,34)">
<span style="font-family:arial,sans-serif;font-size:13px">Irrelevant too, since those "MSVC binaries" (whatever that means) are</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">usable by the other compilers.</span></div>
</div></blockquote><div><br></div><div style>Not unless the library authors take pains to only export APIs that conform to the subset of MSVC's and Mingw's ABIs that are compatible.</div><div style><br></div><div style>
-Joe</div><div><br></div><div style><br></div></div></div></div>