> C's nature as the defacto ABI... It would be very nice to have a non-C ABI.
> An operating system has an ABI. Programs compiled from C source use the OS's ABI. There is no "C ABI".
I'm having difficulty getting these two ideas to reconcile.
> An operating system has an ABI. Programs compiled from C source use the OS's ABI. There is no "C ABI".
I'm having difficulty getting these two ideas to reconcile.
Linux is unique in that you can hand-write assembly to perform a system call and have it work across OS upgrades. FreeBSD does not have stable syscall numbers: open() must be a libc call.
The OS-provided API for the tasks are libc and Security.framework. Do you have any suggestions for a better API?