首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pthread和socket.h的可移植性

pthread和socket.h的可移植性
EN

Stack Overflow用户
提问于 2012-12-15 22:07:36
回答 2查看 608关注 0票数 1

现在我正计划用C/C++编写一个小服务器。该软件的目标将是某种类型的linux服务器,所以我认为在linux上对服务器进行编程将是最好的想法。问题是,我有一台MacBook (Air),我设置了一台Linux,但是集成开发环境(Qt creator)把我吓坏了,所以我考虑在Xcode中开发服务器,然后在VM中编译完它。所以我想知道当涉及到pthread和socket.h时,可移植性的等级有多高?如果它们可以移植到某个级别,您会推荐我使用Xcode进行开发吗?(我对Xcode比较熟悉,因为服务器的客户端将是一个iOS应用程序。很抱歉我的英语很差(我来自GER),并(可能)感谢您的评论:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-15 22:15:30

您可以使用第三方库,例如boost,它抽象出threading librarysocket library的特定于平台的细节。boost支持Linux和Mac OS X操作系统。

我的答案是c++特定的,我看到你也用c标记了这个问题。

票数 3
EN

Stack Overflow用户

发布于 2012-12-16 00:44:12

尽管使用Boost可能会让您的工作更轻松,但为了回答这个问题,<pthread.h><sys/socket.h>都是标准的POSIX头文件,并且可以在Mac和GNU/Linux等POSIX系统之间移植。GNU头中可能有一些东西是非标准的扩展,或者是较新POSIX的一部分,所以Mac不支持,但是在Mac上可用的<pthread.h><sys/socket.h>中的几乎所有东西在GNU/Linux上也是可用的,并且工作方式相同。要确定,请阅读函数的手册页或在线查看Single UNIX Specification (该链接用于Mac支持的较旧版本的POSIX,GNU/Linux主要符合最新的POSIX 2008规范),以确保您只使用可移植的POSIX特性,而不是特定于平台的特性。

请参阅和

请注意,Mac OS X支持基本POSIX规范,但不是所有可选部分,例如,它不支持POSIX 2001的“定时器”选项(这是基本规范的一部分,即在POSIX-2008中不是可选的)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13892903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档