Re:The first new build of Circle, a new C++20 compiler, sinc...
by seanbax on Monday January 23, 2023 @11:05PM
(#34499072)
I'd like to target Windows. Windows does impose a specific C++ ABI, but it's completely undocumented. It's really just whatever Visual C++ does. C++ ABI is very complex, especially vtable layout and RTTI and EH. I am looking to get Microsoft's assistance on targeting Windows. It's a priority, but they don't want to help yet.
[ Parent
| on HN ]
Re:The first new build of Circle, a new C++20 compiler, sinc...
by fidgewidge on Tuesday January 24, 2023 @09:38AM
(#34504083)
Isn't that what com is for? Win32 is compiler agnostic.
Re:The first new build of Circle, a new C++20 compiler, sinc...
by seanbax on Tuesday January 24, 2023 @03:21PM
(#34509685)
https://itanium-cxx-abi.github.io/cxx-abi/abi.html
See all the stuff there? exceptions, vtable layout, rtti, mangling, etc. There's a Windows equivalent for all of that. That's what I want access to.
Re:The first new build of Circle, a new C++20 compiler, sinc...
by fidgewidge on Wednesday January 25, 2023 @04:29PM
(#34524456)
Right I know what a C++ ABI is but I still don't get it. To write C++ apps on Linux you need to match the ABI because there are lots of raw libraries that are just straight compiled C++. On Windows it's not like that outside of the VC++ runtime itself. Everything is C APIs or COM, and wrappers around that. MS never documented their C++ ABI because as far as they're concerned it's not something anyone needs to know, in order to write Windows apps or have components/libraries interop with each other. They never expose raw C++ objects in Windows. When they have C++ APIs they come as source or headers.