Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

C doesn't have a standardized ABI, either, and yet it's the most widely used ABI in the world anyway.

Just because it isn't standardized doesn't mean it isn't stable & relied upon anyway. Clang & G++ are ABI compatible with each other, for example, and more importantly (and relevantly) both libstd++ & libcxx strive to maintain ABI compatibility ( https://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html & https://libcxx.llvm.org/DesignDocs/ABIVersioning.html )



> both libstd++ & libcxx strive to maintain ABI compatibility

They don't, but they do keep it stable.


Alternative phrasing: they strive to maintain "backwards compatibility" rather than "compatibility with each other".


For libcxx & libstdc++ yes correct.

Clang, however, does strive to maintain compatibility with G++. So you can build a library with clang & use it from g++. It strives, and for the most part achieves, to be a drop-in replacement for GCC, which includes ABI compatibility.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: