首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C语言编程- Linux和OSX的不同之处

C语言编程- Linux和OSX的不同之处
EN

Stack Overflow用户
提问于 2013-10-16 20:23:47
回答 2查看 2.9K关注 0票数 3

你好,我正在研究C编程。

我想知道Linux和OSX在C中是否有区别?我知道Windows和Linux/Unix之间有一些(比如获得系统时间戳)。是否有任何特定的命令或技术不能发挥这两种方法之一?“基本”程序应该在这两种程序上运行吗?

我知道C不是一种交叉编译语言,但是OSX和Linux都是Unix --不是吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-16 20:26:19

改变的不是语言本身,而是库(以及相关的API调用)。Mac和Linux在这方面没有区别,只要您坚持使用标准的POSIX调用。Linux和Mac都是符合POSIX的系统。

当然,当谈到专有的Apple库时,您不能期望在Linux下找到它们。但这是另一个问题。Linux内部设备也是如此。

请注意,我们讨论的是源代码兼容性,而不是二进制兼容性。您根本不需要修改源代码,但是您必须为每个平台分别编译它。

票数 8
EN

Stack Overflow用户

发布于 2013-10-16 21:09:41

Linux在Linux和达尔文遵循的基本POSIX标准上包含了相当多的扩展(Linux是“标准”,因为它与Linux完全一样)。正如Stefano所指出的,在许多情况下,这是很好的,但是如果您的程序是为Linux编写的,而不考虑可移植性(“运行在Ubuntu和SuSE上”并不是“可移植性”),您应该会看到一些不同的行为和缺少的扩展。例如,mremap()pipe2()是Linux特有的函数.SOCK_NONBLOCKsocket()的一个特定于Linux的标志,手册页通常会在“符合”一节中指示特定于Linux的内容。

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

https://stackoverflow.com/questions/19413115

复制
相关文章

相似问题

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