我知道POSIX定义了一组应该在兼容系统中存在的函数。其中包括read()
,write()
,printf()
以及我们所知道的其他许多其他内容,包括" libc"功能
但POSIX是否为它们强制执行调用约定,或者由OS实现者来决定?
答案 0 :(得分:4)
但POSIX是否为他们实施了一个调用约定[...]?
没有。 POSIX旨在便携。调用约定在很大程度上依赖于体系结构,因为它们指定了在调用子例程时如何使用堆栈和寄存器。如果POSIX对某些调用约定强制执行,那么它将不再普遍适用,或者,它必须为每个可能的架构定义调用约定,这是不可能的。