C++ ABI Stability

The cluster focuses on debates about ABI stability in C++, including its challenges, lack of standardization, impacts on libraries like libstdc++, and comparisons to C, Rust, and other languages or platforms.

📉 Falling 0.4x Programming Languages
2,286
Comments
18
Years Active
5
Top Authors
#6523
Topic ID

Activity Over Time

2009
4
2010
9
2011
13
2012
36
2013
37
2014
59
2015
60
2016
136
2017
116
2018
123
2019
114
2020
290
2021
211
2022
379
2023
225
2024
257
2025
191
2026
28

Keywords

COM e.g PTX CI CD digitalmars.com CUDA FFI ABI i.e abi stability compiler stable compiled compatibility compatible rust libraries conventions

Sample Comments

nequo • Jan 4, 2024 • View on HN

Your sibling comments and responses to them about ABI stability talk about why this is not possible. For example,https://news.ycombinator.com/item?id=38853047

gumby • Mar 1, 2020 • View on HN

You mean a refusal to break ABI?

ygritte • Aug 1, 2025 • View on HN

What's the pro of not having a stable ABI?

maxerickson • Nov 1, 2019 • View on HN

There is work towards a stable abi, that should help with such things, eventually.

I've always heard that it's a backwards compatibility problem with ABI, not API, is that not true?

bluGill • Nov 14, 2021 • View on HN

The C++ standard committee regularly has debates about breaking the ABI. They forced it for 11, who knows if they will again.

mgaunard • May 8, 2023 • View on HN

in practice ABI compatibility is holding back libstdc++ more than anything.

zabzonk • Feb 14, 2023 • View on HN

just to be clear about the abi issues mentioned here, neither c++ nor c have a standardised abi. but there are widely agreed abis for different platforms. standardised language changes can thus not break standardised abis, because the standards don't specify abis.

tsimionescu • Jan 24, 2021 • View on HN

I think you misunderstood. C++ doesn't even have an official ABI, nevermind having a stable one. ABI changes can and do happen in many C++ implementations (and there is no compatibility across implementations - you can't link a library compiled with clang to one compiled with MSVC). You can't generally expect to link together libraries compiled with different major versions of the same toolchain, though this may be supported by some toolchains.Instead, Rust has defined an ABI a

garaetjjte • May 13, 2022 • View on HN

Compilers generally try to preserve ABI between versions, or include compatibility options (like -fabi-version in g++)