【发布时间】:2020-02-23 10:40:10
【问题描述】:
有人可以为 POSIX 函数推荐一个轻量级的 C 库/头文件包装器,可以跨平台使用吗?
例如,它可以像映射open 和close 一样简单,它们在win32 中是_open 和_close。然后有一些功能略有不同。我知道common c++、boost 和posixcpp,但它们对于需求来说太过分了。
我正在考虑自己编写它,但只是检查是否有人已经这样做了,而不是重新发明轮子。
【问题讨论】:
-
Posix 是跨平台的。问题是Windows。 Microsoft 在某些版本的操作系统中支持将 Posix 作为可选子系统,并在其他版本的操作系统中停止支持 Poxis。
-
我希望在 Windows 上
open()和close()分别映射到_open()和_close()。而不是相反。 -
如果使用 Windows,只针对 WSL。
-
@Shawn 仅当您仅针对使用 WSL 的开发人员(这只是整体的一小部分)时才有可能。 \@yumoji C 还是 C++?他们非常不同。在 C++17 中,只需使用
std::filesystem来实现可移植性 -
为需要而矫枉过正?你的意思是?只需使用您需要的部分...可移植性不是一个简单的问题,例如替换标识符,也不是创建简单的存根...如果您使用 C,那么 C I/O 是可移植的(fopen/fclose)。如果您需要 POSIX 功能(打开/关闭),那么您需要在主机上有一个 posix 子系统。