LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: realtang

Linux和Windows编程的不同——一些个人经验

[复制链接]
发表于 2005-11-11 21:24:29 | 显示全部楼层
除非装个cygwin之类的东西
回复 支持 反对

使用道具 举报

发表于 2005-11-12 14:26:30 | 显示全部楼层
Win32 的 POSIX 实现是在它的 Interix (SFU) 中实现的,普通的 Windows 默认并不会安装这个组件。SFU 完全模拟了一个 Unix 环境,甚至包括了 FIFO 等 Win32 本身不提供的功能。

SDL 的 2D 部分有多种不同的后端,包括 fbcon, x11 等。3D 部分直接支持 OpenGL。

总的来说,在 API 方面,Win32 的编程模型是经过精心设计与选择的,也许少了一些『自由』,但是降低了开发的学习曲线和选择的时间,未必不是一件好事。Linux 下各种不同的 API 太过繁多,而且没有一种主导意见,因此用户程序的互不兼容与前后更新造成的 dependency hell 实在不可避免。
回复 支持 反对

使用道具 举报

发表于 2005-11-13 11:48:44 | 显示全部楼层
Post by realtang
你试试VC++就知道了。windows声称支持POSIX标准,其实是骗人的。

说真的,WINSOCK2真的非常强大。很佩服Microsoft的工程师。


socket不过是系统调用的接口,也就是<<tcp/ip详解-实现>>第15章所提及的插口层,不过是一个系统调用的接口,也是kernel tcpip代码的一部分,是给开发人员用的api接口,而不是网络实现的一部分,所以首先需要说明的是,socket api和性能无关。
我在windows下一直在开发网络应用,无论如何,windows的网络处理能力远远不及freeBSD,无论他的winsock api说的如何神乎其神。

windows编程确实比unix-like复杂,不过无论多复杂,那些大多都是人为定义的东西,也许某一天microsoft会改变所有的东西,他们不是真正的计算机知识(经典计算机科学(unix))。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表