2013-06-21 150 views
0

實現「統一」系統調用庫有多實用?這樣的庫將成爲OS實際系統調用的包裝。這樣,您就可以編寫使用這個「統一系統調用庫」的代碼,然後該庫將爲您處理與OS等同的特定調用(您需要爲每個OS製作不同版本的庫)。這將允許輕鬆創建便攜式應用程序。系統調用庫

我想這是葡萄酒所做的,但葡萄酒只適用於在Linux上運行Windows應用程序。我在問什麼可以讓你在多個操作系統上運行任何兼容的應用程序。

這已經完成了嗎?

編輯:

或者,更好的是,使用現有的通用標準(POSIX),幷包裝用於Windows,Mac,OS等電話,所以,任何POSIX應用程序可以在這些各自的操作系統上運行。

雙編輯:

經過一番思考,我意識到這已經是什麼很多圖書館做。但由於某種原因,似乎有一些電話被遺漏(否則爲什麼不是所有應用程序都可以跨操作系統移植?)

回答

0

當然,Posix的目標是統一操作系統。特別是關於C函數的章節。在Linux,BSD和* nix中,glibc與Posix保持一致。在Windows下,你必須安裝Cygwin。如果你編寫符合Posix標準的程序,它將在Linux + glibc,Windows + cygwin等下運行......不幸的是,Posix沒有定義與硬件的通信。與硬件通信的手段是異構的,取決於操作系統和硬件的種類。