POSIX简介
POSIX全称是Portable Operating System Interface,意为可移植操作系统接口,是IEEE要在各种UNIX操作系统上运行软件,而定义API的一系列互相关联的标准的总称。X表示对UNIX的传承(X在UNIX中是cross的缩写,代表跨平台的意思)。
Linux和 POSIX的关系
严格来说,Linux 有自己的跨平台(不同Linux之间)标准,叫 Linux Standard Base(LSB)。
LSB 融合了 POSIX 和 SVID 的内容,并在此基础上进行了拓展。
Unix 和 类-Unix 系统的现行标准道是 POSIX,但这份标准只定义了 API,没有定义可执行文件格式 ABI。而 LSB 则添加了 ABI 方面的内容,其中有许多来自 SVID。
LSB 和 POSIX 的标准制定委员会决定 尽最大可能简小两份标准之间的分歧,所以两者大体容上是兼容的。
SVID 现在已经不再使用了,他的 API 已经被 POSIX 取代了。但它的 ABI 还是现在大部分系统所采用的。
API和ABI
API全称是APPlication Programming Interface(应用程序编程接口),是给程序员用的。
ABI全称是APPlication Binary Interface(应用程序二进制接口),是给编译好的二进制用的。这也是为什么exe不能在linux下运行的原因。