我打算将 39dll 库移植到 Linux。这个库已经移植到 Mac 和 IOS,我想知道是否需要重写 sys/socket.h 的东西。你可以在这里和这里找到有问题的库
有人知道吗?我做了一些谷歌搜索并查看了一些“建议”文章无济于事。一些文章建议它“可能”工作,但我需要一个更明确的答案。
您是在问 Mac OS X 的内容<sys/socket.h>
是否与 Linux 的版本相同?不,Mac OS X 的标头是基于 BSD 的。
> man socket
SOCKET(2) BSD System Calls Manual SOCKET(2) NAME socket -- create an endpoint for communication SYNOPSIS #include <sys/socket.h> int socket(int domain, int type, int protocol); DESCRIPTION Socket() creates an endpoint for communication and returns a descriptor. The domain parameter specifies a communications domain within which com-
如果您要问两个平台之间是否存在源代码兼容性,那么是的,只要源代码坚持可移植接口。
如果您正在考虑可能需要重写套接字内容的其他原因,我想这取决于您当前的代码在为 OS X 构建时是否满足您的要求。