我知道POSIX定义了一组应在合规系统中存在的函数。其中包括read()
,write()
,printf()
和许多我们称为" LIBC"功能的其他许多。
但是POSIX是否为他们执行了呼叫约定,还是由OS实施者选择?
但是Posix是否为他们执行了呼叫约定[...]?
否。POSIX的目标是便携式。呼叫约定在很大程度上取决于架构,因为它们指定了调用子例程时使用堆栈和寄存器的方式。如果POSIX在某些呼叫约定上执行了执行,则它将不再普遍适用,或者,它必须为每个可能的架构定义呼叫约定,这是不可能的。