POSIX

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

相關文章
相關標籤/搜索