0

我正在编写一些将在管理程序下运行的代码,该管理程序只允许打开、读取、写入和关闭对外部世界的系统调用。

由于部分代码依赖于它正在运行的平台,我希望能够在运行时自动选择适当的代码路径。

仅使用这些系统调用来检测操作系统的最可靠方法是什么?我主要对检测 windows 和 linux 感兴趣,但 osx 也会很有用。

4

1 回答 1

1

uname 监视 /proc/sys/kernel/ostype,你可以使用它。对于窗户,情况更糟。理论上,你应该有 C:\windows\system32\kernel32.dll。然而,问题是,Windows 安装根目录不需要是“C:\”(尽管它很常见)——所以我非常怀疑普通的 open() 是否可以被认为是可靠的。

于 2013-05-30T13:42:16.223 回答