- 论坛徽章:
- 1
|
正好由于工作原因,接触过一段时间的IOS/MAC OSx。
因为本人主要做linux,所以在接触苹果OS的过程中,不是那么痛苦。
先说说相似之处:
1. 都是UNIX系列的操作系统,所以使用上比较相近(Mac OS 和 Linux)。诸如一些命令,环境参数,常用工具等,多数通用。
2. 开发上也有很多相似之处。Linux下使用GCC很久,到MAC OS,也有GCC版本(集成于XCode,也有单独的命令行功能)。GDB是两边都有。
系统调用和C库都符合Posix标准,因此多数接口都是一致的。用到了socket接口,两边基本一致。pthread两边实现基本一致。对于其他子系统的接口,参照《Unix环境高级编程2》,基本都能应付。
以上对于linux,Mac Os X,IOS三个系统都差不多。
不同之处(以下的苹果系统同时指MAC oS和IOS,因为这两个系统的开发有不少地方都是一样的):
1. 当然是开发工具。Linux用vim其实没那么好用,可能个人水平有限。苹果系统下Xcode是相当地方便,自动补全和错误提示功能相当有用。平时集成环境用得少,不过感觉Xcode也算是这方面的优秀者吧。
Xcode的图形调试系统比单纯的gdb命令要方便一些,这个大约和VS系列相似。
Xcode的帮助文档确实很系统和方便,另有一些教程类的文章集成在开发环境里,方便搜索和模仿。这一点比linux下又要方便一些。
2. 图形界面的开发,其实这个不具可比性。Xcode本来就善于做这个。而我在linux下尝试用QT,则会有额外的一些配置工作。并且个人感觉QT的开发没有Xcode的界面功能方便。
3. 线程上Xcode提供了一个NSThread,这个东西使用方便,但可控制的地方比较少。根据我的个人经验,这个东西似乎是基于pthread的一个封装,在简单地分发任务时会比较方便。
4. GCC工具上,Linux肯定是保持最新的,可以随时更新。但Xcode上更新较慢。
当时我在尝试用C++11的时候,Xcode带的gcc由于版本低一些,所以对标准支持不完善,这个方面在linux就好多了。
但是整体上我在苹果系统上做的工作不多,不足半年。因此无法全面评价两者的差异。个人更喜欢Linux,毕竟是开源的,实现的细节都是可以查看的。在实际工作中,用Linux的显然多过苹果系统,个人接触过的行业包括驱动,存储,仿真,医疗,通信,都是以Linux为主。因此我认为由于苹果系统的封闭性,他肯定还会长期局限在一些特定的应用环境里,以消费为主。而Linux涉及的行业就太多了,所以其发展趋势应该是更广阔一些。 |
评分
-
查看全部评分
|