Compiler and OS vendors. The same behind undefined behavior.<p>Although people like to bash C++, there isn&#x27;t any programming language with an ABI as part of the language standard, not even C.<p>The C ABI that so many people adhere to, only exists in OS written either in C or C++ (via extern &quot;C&quot;).<p>By the historical accident that all commercial major OSes are mostly written in C, developers that aren&#x27;t language lawyers tend to think C ABI is somehow defined in some standard.<p>In OSes that weren&#x27;t written C, with C compilers available, like OS&#x2F;400, VMS, Lillith, Lisp Machines, Oberon, the ABI being used isn&#x27;t the C one.