API: POSIX (编译前的源代码)linux
ABI: APPLICATION BINARY INTERFACE (编译后的二进制文件,linux & windows不兼容)程序员
--------------------- windows
POSIX表示可移植操做系统接口(Portable Operating System Interface of UNIX,缩写为 POSIX ),POSIX标准定义了操做系统应该为应用程序提供的接口标准。函数
POSIX标准意在指望得到源代码级别的软件可移植性。换句话说,为一个POSIX兼容的操做系统编写的程序,应该能够在任何其它的POSIX操做系统(即便是来自另外一个厂商)上编译执行。操作系统
简单总结:
完成同一功能,不一样内核提供的系统调用(也就是一个函数)是不一样的,例如建立进程,linux下是fork函数,windows下是creatprocess函数。好,我如今在linux下写一个程序,用到fork函数,那么这个程序该怎么往windows上移植?我须要把源代码里的fork统统改为creatprocess,而后从新编译....net
posix标准的出现就是为了解决这个问题。linux和windows都要实现基本的posix标准,linux把fork函数封装成posix_fork(随便说的),windows把creatprocess函数也封装成posix_fork,都声明在unistd.h里。这样,程序员编写普通应用时候,只用包含unistd.h,调用posix_fork函数,程序就在源代码级别可移植了。
---------------------
源做者:雪过无痕_
原文:https://blog.csdn.net/weixin_40039738/article/details/81867577
版权声明:本文为博主原创文章,转载请附上博文连接!blog