实施“统一”系统调用库有多实用?这样的库将是OS实际系统调用的包装器。这样,您可以编写使用此“统一系统调用库”的代码,然后库将处理为您制作等效的特定于操作系统的调用(您需要为每个操作系统创建不同版本的库) )。这样可以轻松创建便携式应用程序。
我想这就是葡萄酒的作用,但葡萄酒只适用于在Linux上运行Windows应用程序。我问的是允许你在多个操作系统上运行任何兼容的应用程序的东西。
这已经完成了吗?
编辑:
或者,更好的是,使用现有的流行标准(POSIX?)并为Windows,Mac等操作系统调用制作包装器,以便任何POSIX应用程序都可以在相应的操作系统上运行。
Double Edit:
经过一番思考,我意识到这已经是很多图书馆所做的。但由于某种原因,似乎有一些调用被遗漏(否则为什么不是所有的应用程序都可以在OS上移植?)
答案 0 :(得分:0)
当然,Posix的目标是统一操作系统。特别是,有一章关于C函数。在Linux,BSD和* nix下,glibc与Posix保持一致。在Windows下,您必须安装Cygwin。如果您编写符合Posix标准的程序,它将在Linux + glibc,Windows + cygwin等下运行...
不幸的是,Posix没有定义与硬件的通信。与硬件通信的方式是异构的,取决于操作系统和硬件类型。