4

我打算将 39dll 库移植到 Linux。这个库已经移植到 Mac 和 IOS,我想知道是否需要重写 sys/socket.h 的东西。你可以在这里这里找到有问题的库

有人知道吗?我做了一些谷歌搜索并查看了一些“建议”文章无济于事。一些文章建议它“可能”工作,但我需要一个更明确的答案。

4

1 回答 1

3

您是在问 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 构建时是否满足您的要求。

于 2012-06-25T21:04:02.760 回答