免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 默难
打印 上一主题 下一主题

[关于cygwin]谁有这方面经验?使用它效率如何? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2006-08-07 20:32 |只看该作者
原帖由 默难 于 2006-8-7 20:27 发表
感谢各位了~
用cygwin的话效率会下降到什么程度呢?如果比用python快的话我就应该可以接受了。(一般情况下)
关于MinGW,我以前也看过它的一些东西,一直以为它的功能就是把一个有#include <windows.h>的 ...

纯C和纯PYTHON的运行速度比大约在1:20以上,CYGWIN再不济,也不会比PYTHON慢吧。
我测试的那个HTTP服务器,你也可以测试一下,自己见识一下速度比:
http://shttpd.sourceforge.net/

个人认为,CYGWIN最多比同样的WIN程序慢一半到1/3。

论坛徽章:
0
12 [报告]
发表于 2006-08-07 20:39 |只看该作者
原帖由 assiss 于 2006-8-7 20:32 发表

纯C和纯PYTHON的运行速度比大约在1:20以上,CYGWIN再不济,也不会比PYTHON慢吧。
我测试的那个HTTP服务器,你也可以测试一下,自己见识一下速度比:
http://shttpd.sourceforge.net/

个人认为 ...

多谢多谢~这几句话一下子打消了我心中的疑虑~
现在开始,统一删除代码中的#ifdef __WINDOWS__
TNND~折磨了我N个星期之久的windows编程终于在cygwin面前向我屈服了~
另外,windows上的程序安装起来似乎都有个比较统一的界面,感觉这些安装步骤也应该和Linux上一样,可以用autoconf automake类似的程序生成的吧??不知道这个应该怎么做?

是不是说,用了cygwin之后,我就可以大张旗鼓地用POSIX定义的函数,然后特别心安理得地认为在linux下编译成功的程序多半也就能在windows上运行了?

论坛徽章:
0
13 [报告]
发表于 2006-08-07 20:45 |只看该作者
原帖由 默难 于 2006-8-7 20:39 发表

多谢多谢~这几句话一下子打消了我心中的疑虑~
现在开始,统一删除代码中的#ifdef __WINDOWS__
TNND~折磨了我N个星期之久的windows编程终于在cygwin面前向我屈服了~
另外,windows上的程序安装起来似乎都有个 ...

在cygwin上开发有一点不好的,就是库的依赖。CYGWIN提供的还好,不提供的就要自己编译,有些时候需要自己作一些修改才能编译成功的。
不过这比MINGW好多了,MINGW有很多库根本不可能编译成功。

如果在WINDOWS上制作安装程序,还是和UNIX/LINUX分开的好。比如在WIN下可以试用inno setup。

另外,恐怕有些#ifdef __windows__还不能删,毕竟WINDOWS和UNIX下还有一些不同:最简单的就是路径。

论坛徽章:
0
14 [报告]
发表于 2006-08-07 20:51 |只看该作者
to assiss , 多谢了!
我想我应该不会用到什么边边角角的库,目前能想到的应该都是POSIX支持的。用到的无非就是一些pthread_XXX fcntl之类的函数。
安装程序的制作……我写完代码再看看这方面资料吧。估计这个代码也要写一阵子呢。主要问题是目前的开发人员似乎只有我一个人 -_-||
不管怎么说,宏开关能少很多了,这起码让代码漂亮点了

论坛徽章:
0
15 [报告]
发表于 2006-08-07 21:12 |只看该作者
另外再问一下,用cygwin的话,是不是一些像错误处理之类的问题都可以符合POSIX的标准了??
因为我刚刚去MSDN查了一下,在里面搜索EWOULDBLOCK居然没有结果……是不是用cygwin的话就可以解决这些问题了?

论坛徽章:
0
16 [报告]
发表于 2006-08-07 21:20 |只看该作者
原帖由 默难 于 2006-8-7 21:12 发表
另外再问一下,用cygwin的话,是不是一些像错误处理之类的问题都可以符合POSIX的标准了??
因为我刚刚去MSDN查了一下,在里面搜索EWOULDBLOCK居然没有结果……是不是用cygwin的话就可以解决这些问题了?

应该是。具体可以查查相关的头文件,我用CYGWIN编译的程序中还没出现过不支持POSIX标准的。

论坛徽章:
0
17 [报告]
发表于 2006-08-07 21:23 |只看该作者
多谢多谢了~看来这次是给我解脱了~虽然这个做法有些敷衍windows用户的意思……算了~谁叫他们不用linux呢……

论坛徽章:
0
18 [报告]
发表于 2006-08-07 21:28 |只看该作者
是不是说,用了cygwin之后,我就可以大张旗鼓地用POSIX定义的函数,然后特别心安理得地认为在linux下编译成功的程序多半也就能在windows上运行了?

不知道你的程序里面会不会使用IPC机制,我的印象里,cygwin对这些机制的支持几乎是0,不知道现在有没有解决,建议你还是考虑用宏来实现吧。

论坛徽章:
0
19 [报告]
发表于 2006-08-07 21:41 |只看该作者
呼……幸亏我提前考虑到这个问题了,所以里面的通信都是通过socket,利用TCP/IP协议完成的。而且本地机上的IPC相对比较少,主要是远程主机之间的通信,自然要用socket了

论坛徽章:
0
20 [报告]
发表于 2006-08-07 21:42 |只看该作者
cywin仅支持大部分POSIX系统调用, 初学者装个不错, 学多了直接装个linux多爽阿
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP