2013-06-21 119 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没有定义与硬件的通信。与硬件通信的手段是异构的,取决于操作系统和硬件的种类。