4 ms·
> edited to add: to be fair, it's not ABI compatible with MSVC. But it deserves a mention and it's an easier option than MSVC-style build systems for many open
by gsnedders 9y ago
> edited to add: to be fair, it's not ABI compatible with MSVC. But it deserves a mention and it's an easier option than MSVC-style build systems for many open source projects.
Pretty sure this is significant in Chrome's case.
- saurik 9y agoWhy, though? What does Chrome do that calls into C++ code compiled by anyone but Google?
- valarauca1 9y agoon Windows the native ABI (or the default ABI I should say) explicitly reserves space for C++ stack unwinding on a per call basis. A lot of the windows API can (ab)use this so it’s best to follow it, despite it being C (ish).
- gsnedders 9y agoFile dialogs (to save/load web pages, to upload files), print support, TCP sockets… all of these involve calling into system code.
- tavert 9y agodo any of those require ABI compatibility at the C++ level? win32 API's are generally exposed as C
- Const-me 9y ago> win32 API's are generally exposed as C A lot of newer Win32 APIs are IUnknown-based COM interfaces. APIs that are probably relevant for Chrome are shell interop, drag & drop, Direct2D, Direct Write, Media Foundation.