3 ms·
I'm not sure what you mean here by "name another language". Do you mean other than C? I don't understand what that would demonstrate.
by TheNewAndy 15y ago
I'm not sure what you mean here by "name another language". Do you mean other than C? I don't understand what that would demonstrate.
- batista 15y agoThat it's not that common?
- pjmlp 15y agoNo, because language standards only specify the language itself not the implementations. So each vendor comes up with its own library format and tricks how to make the language usable in dynamic libraries. And as far as I know, they seldom talk among themselves about common ABIs. C ends up being used as universal ABI, because in the end all implementations that generate native code need to interface with the operating system, which usually is developed in C. But this was not always like this. Before C won its place as system programming language outside the UNIX world, there were other systems programming languages in use. On those systems there was no C ABI as such. The Pascal calling convention ABI exists, because on the early 80s a few operating systems were developed in extended version of Pascal, like the first MacOS, for example.
- pjmlp 15y agoFor example, Lisp, Scheme, Ada, Modula-3, Delphi, D, Go, Oberon don't have compiler implementations that produce object files compatible across vendors. Usually you are only able to link to libraries compiled with the same compiler. The same way as it happens to C++.