3 ms·
> thats not true if you inspect the details of the specific ABI and cheat a little or use some inline assembler... Some x86 C compilers supports calling conven
by poizan42 10y ago
> thats not true if you inspect the details of the specific ABI and cheat a little or use some inline assembler...
Some x86 C compilers supports calling conventions that lets you put things in registers, e.g. Microsofts "fastcall". But I wouldn't consider that part of the standard "C ABI" for Windows given that it's practically never used for externally visible functions. As I said "without specfic compiler support".
Using inline assembler is just cheating, it's not C.
> but cl is easily the worst compiler for a C++ ABI.
they break it on tiny incremental updates sometimes... at least historically (in fairly recent history at least).
That is more about name mangling schemes and layout of standard library classes though. As far as I know the calling conventions has been quite fixed for a long time.