我知道POSIX定义了应在兼容系统中提供的一组功能。 其中包括read()
, write()
, printf()
以及我们称为“ libc”函数的许多其他功能。
但是POSIX是否为它们强制执行调用约定,还是由OS实现者选择?
但是POSIX是否为它们强制执行调用约定?
不会。POSIX旨在便携式。 调用约定在很大程度上取决于体系结构,因为它们指定了在调用子例程时如何使用堆栈和寄存器的方式。 如果POSIX对某些调用约定进行了强制实施,那么它将不再通用,或者必须为每种可能的体系结构定义调用约定,这是不可能的。