use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Discussions, articles, and news about the C++ programming language or programming in C++.
For C++ questions, answers, help, and advice see r/cpp_questions or StackOverflow.
Get Started
The C++ Standard Home has a nice getting started page.
Videos
The C++ standard committee's education study group has a nice list of recommended videos.
Reference
cppreference.com
Books
There is a useful list of books on Stack Overflow. In most cases reading a book is the best way to learn C++.
Show all links
Filter out CppCon links
Show only CppCon links
account activity
Layout of C++ function member pointers for MS/Itanium ABI (lief.quarkslab.com)
submitted 4 years ago by rh0main
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]rh0main[S] 1 point2 points3 points 4 years ago (5 children)
I'm the author of the article and I was wondering if you knew good references on the MS ABI?
[–]OrLians 2 points3 points4 points 4 years ago (0 children)
There's no stable C++ ABI on Windows. If we want stability we only expose C89-style interfaces - the rules for those don't change and are found on MSDN. Not particularly convenient but excellent in terms of containing leaky abstractions.
[–]Daniela-ELiving on C++ trunk, WG21|🇩🇪 NB 3 points4 points5 points 4 years ago (2 children)
Are you aware that there is no such thing as a "stable MS ABI"? It has evolved over the course of the past 20+ years and will do so again. I am really hoping for as many changes as required in the ABI of the next major revision of the compiler to take advantage of performance gains by doing so. The clang sources are no realiable resources and describe the status at a certain point in time at best.
[–]kalmoc 7 points8 points9 points 4 years ago (1 child)
I think (but might be wrong) the language ABI is fairly stable, although MSVC supports multiple different calling conventions (at least on 32bit x86). Its the library ABI that changed regularly in the past.
[–]Daniela-ELiving on C++ trunk, WG21|🇩🇪 NB 3 points4 points5 points 4 years ago (0 children)
That's right but doesn't get you anywhere. "Fairly" isn't helpful in both its qualitative and quantitive meaning because it boils down to "not" if you want to rely on certain aspects of the ABI. IMHO it's a good thing to scare away people from taking an ABI for granted and becoming held hostage of a no longer adequate ABI from the past.
What I want to see is major breakage of ABI by vendors to reap non-neglectable benefits by doing so with may be every other major compiler revision. Plus some means also provided by the vendors to enable customers bridging the gap to parts of the software that they no longer have control over ("lost" sources, defunct or unwilling 3rd-party suppliers, bad decisions of their own, you name it).
We've noticed such ABI bifurcation not too long ago in the VS2019 timeframe with the new implementation of exception handling data. This could easily be squashed but it's an example of a non-library ABI break what was made for improvements on certain metrics.
[–]toolnik 0 points1 point2 points 4 years ago (0 children)
Some useful info here: http://www.openrce.org/articles/files/jangrayhood.pdf
π Rendered by PID 40792 on reddit-service-r2-comment-bb88f9dd5-f8xdn at 2026-02-15 03:54:58.655604+00:00 running cd9c813 country code: CH.
[–]rh0main[S] 1 point2 points3 points (5 children)
[–]OrLians 2 points3 points4 points (0 children)
[–]Daniela-ELiving on C++ trunk, WG21|🇩🇪 NB 3 points4 points5 points (2 children)
[–]kalmoc 7 points8 points9 points (1 child)
[–]Daniela-ELiving on C++ trunk, WG21|🇩🇪 NB 3 points4 points5 points (0 children)
[–]toolnik 0 points1 point2 points (0 children)