admin 管理员组文章数量: 1086019
2024年3月20日发(作者:c语言编译环境有哪些)
Cygwin使用指南
下载:
1. 下载、运行安装向导文件
一开始的下载方法,了解Cygwin的人都知道:就是到 : 中
先当个安装向导文件,这个是Cygwin的官方下载安装向导文件,而且也只能
通过它才能正确下载最新的Cygwin版本(为何?稍后有说明)。
下载完毕,双击运行,程序安装向导界面如下图所示:
点击“下一步” 继续,准备选择Cygwin的安装方式。
2. 选择安装方式
如上图所示,一共有三种安装方式:
(1)Install from Internet:直接从Internet上下载并立即安装(安装完成后,下载
好的安装文件并不会被删除,而是仍然被保留,以便下次再安装)。
(2)Download Without Installing:只是将安装文件下载到本地,但暂时不安装。
(3)Install from Local Directory:不下载安装文件,直接从本地某个含有安装文件
的目录进行安装。
强烈建议选择第(2)项,以便于能够手工指定安装路径。然后再点击”下一步“。
3. 设置安装文件的本地存储路径
由于我们选择的是直接下载的安装方式,所以必需指定好一个本地下载文件存储目录。
安装目录所在的驱动器剩余空间必须足够(若要完全下载,至少需要600M以上的空间)。
设置好后,点击“下一步”。
4. 选择连接方式
如上图所示,共有三种连接方式选择:
(1)Direct Connection:直接连接。
(2)Use IE5 Settings:使用IE的连接参数设置进行连接。
(3)Use HTTP/FTP Proxy:使用HTTP或FTP代理服务器进行连接(需要输入服务
器地址和端口号)。
用户可根据自己的网络连接的实情情况进行选择,一般正常情况下,均选择第一种,
也就是直接连接方式。然后再点击“下一步”。
5. 选择下载站点
经过一番搜索,安装向导为我们列出了众多可用的下载镜像站点以供选择,有HTTP
的也有FTP的。说实话,这些站点我几乎都试过了一遍,真正能用的能给我留下深刻印象
的寥寥无几。这里我只推荐一个站点:,又快又稳定。用户也可
以自由决定倒底用哪个站点进行下载。另外,几个后辍为“.jp”的站点也还过的去,但不
推荐。为啥?因为那是小日本的站点。
言归正传,选择好了没? 好, 点击“下一步”,向导会显示下图所示的信息:
注意!这并不是正式的下载,而只是安装向导从下载镜像站点上获取压缩过的安装列
表文件。这个安装列表文件是Cygwin统一指定的,并随着新版本的发布而更新。安装向
导就是通过它来得知究竟可以下载什么不能下载什么。并且该下载列表文件中还有包含有
每个下载文件的MD5验证码,非常重要。
6. 选择所要下载/安装的安装包内容
安装列表文件下载完毕,向导会显示列表中的内容,供用户自由选择倒底需要下载哪
些安装包。如何选择呢?只需用鼠标点击每个安装包名后面那个循环箭头图标即可:图标
后面的文字是表示究竟对该安装包采取何种下载/安装方式,并随着点击而不断变化,共有
这么几类:
(1)Default:这是默认选择,表示只下载/安装该包的缺省安装项(可点击包左边的
+号展开,看看缺省安装究竟是些什么内容)。
(2)Install:表示要下载/安装该包的全部内容。所要求的空间也最大。
(3)Reinstall:表示重新下载/安装该包的内容(以上一次正常下载/安装时所选择的
内容为准)。这个选项非常有用,稍后在下篇中会有说明。
(4)Uninstall:这个就不用解释了吧。
用户可根据自己的实际需要,来准定究竟下载/安装哪些内容。推荐选择“Install”方
式,一步到位,免得日后被各种这样那样的问题所困扰。
至于窗口顶部那些“Keep”、“Prev”、“Curr”、“Exp”等等选项,只是用来改变当前
树结构的显示方式的,对下载/安装没有什么影响。用户可以用默认的“Exp”。然后点击“下
一步”,就要开始正式进行下载啦。
7. 下载
-----下篇 Cygwin完全下载指南(下)-断点续传篇------
上篇我们已经遇到个难题,就是Cygwin还没全部下载完全,向导程序就自己罢工不
干了。怎么办?继续等待?重新再来一遍?换个下载镜像站点?。。。都不是好办法,不保
险啊。最好的办法,就是能让向导程序在上次异常中止的地方重新开始下载,继续下载。
也就是类似于FTP的断点续传功能。
Cygwin的安装向导程序能够实现该功能吗?能!而且干的还挺漂亮,只不过。。。相
应的设置实在是太古怪了,简直有误人子弟之嫌!我在尝试的时候,有N 回都已经几乎摸
到门把手了,但就是因为心想:怎么可能会是这种配置呢?决对不行的!。。。。结果,像瞎
子一样继续在黑暗中摸索了很久,才找到了出口。其中得出的教训远比得到的经验深
刻~~~~闲言少叙,言归正传。
一但用户在下载过程中碰到了这种情况,不能浪费时间继续等待,因为那时安装向导
实际上已经被中止了和站点的连接,只是它仍在那里不停的循环,不停的徒劳的尝试而已。
我们唯一要做的也是唯一能做的,就是点击“取消”按钮,关闭该向导!不要心疼已经下
载的那部分安装文件,不用担心,已经下载完毕的文件不会消失,而且还仍将有用。
关闭向导程序后,再重新运行它(一定要用你原先用的那个,而不能重新再当一个),
一路“下一步”下去(详细步骤可参阅上篇的内容,但要注意的是,进行本地下载存储路
径设置时,必须和原先下载时的设置保持一致!),直到出现下图所示的站点选择窗口:
这时候,千万千万别去选择其他站点!对,仍旧选择你第一次下载时选择的那个!而
且,向导程序也会根据你的下载日志,自动获得并定位到该镜像站点上。所以,这时你唯
一要做的,就是点击“下一步”。
熟悉的安装包下载选择界面又出现了,如下图所示。
这个时候,要进行的设置就非常关键了:把ALL后面的Install改为Reinstall!哈哈,
是不是有点什么想法了?对! Reinstall方式在安装时是表示重新安装,但在下载的时候
表示的就是继续下载!这时我就不能不骂Cygwin安装程序的制作者了:你丫的程序界面
怎么不设计的友好点?既然我前面选择是“Download Without Installing”,那你好歹在
这项设置里面,把Install/Reinstall改换成Download/Continue Download才是啊。
好了不说了,都“Reinstall”了没?好,点击“下一步”。
向导程序现在已经知道你要继续上次的一载/续传了,它就会根据已经生成好的下载日
志文件,对现有已经下载好的文件逐个做一把MD5校验码的Checking(如下图所示),
确定已下载的部分没有任何问题。
不用点“下一步",向导程序会自动切换到下载界面中。
看看下图,看到了吗? 这一次的下载可不是从a字头的文件开始,而是直接从g字
头的文件开始,哈哈!
恭喜,你可以长舒一口气了:原来如此
需要说明的是,这时候总的下载进度稍稍有不同:不再是整个下载的进度了,而是你
剩余的需要下载的文件的进度。所以,当你看到一开始仍是0%时,大可不必担心。你原
先下载的文件都在。
如果在续传时,安装向导程序又罢工了,只需将以上步骤重新来一遍即可,这种断点
续传方式虽然土了点、怪异了点,可的确能保证你的下载能持续下去,直到全部 500多兆
的Cygwin安装文件下载完成。至此,本下载指南算是完成任务了。至于如何安装,我这
里就不凑热闹了,因为网上相关的文章多的是,随便搜一下就有一大堆。大家自己看吧,
安装其实蛮简单的。
这次Cygwin下载磨难记,我更加验证了我自己的一宝贵信条:只要有一线希望,就
绝不放弃!无论如何都不要放弃!你也许会说,傻B了吧,为何不直接下载 GCC包或者
是MingW呢,一样可以让Eclipse支持C++开发啊。可是我想要下载Cygwin是有原因
的:因为Cygwin是Win平台下的 UNIX模拟环境,我们公司现在的服务器端就建立在
HP-UX平台之上,通过Cygwin,我可以直接在现有环境境中初步学习UNIX相关知识,
而不用对自己现在的电脑大动干戈。一箭双雕,何乐不为?
========================
顺便提醒一下:
(1)在用户指定的本地存储路径内,安装向导程序会生成类似这样的一个目录:
http%3a%2f%% %2fcygwin,这就是你下
载文件的真正所在目录。还会生成两个日志文件:和 , 用户感
兴趣的活,可以打开来看看,对了解Cygwin的下载机制有不少帮助。
(2) 如果用户线路不是很好的话,可选择晚上11:00以后至早上8:00点这一段时
间,进行Cygwin的下载,那时候人少,连接比较稳定,速度也有保证:我在下载时,曾
达到了180KB/s的高速,这对于连接一个国外下载站点来说,已经是相当快的了。
Cygwin使用指南
根据cygwin user guide翻译整理,希望对大家有所帮助。有错误清指出。
1 引言
cygwin是一个在windows平台上运行的unix模拟环境,是cygnus solutions公司
开发的自由软件(该公司开发了很多好东西,著名的还有eCos,不过现已被Redhat收购)。
它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,或者进行某
些特殊的开发工作,尤其是使用gnu工具集在windows上进行嵌入式系统开发,非常有
用。随着嵌入式系统开发在国内日渐流行,越来越多的开发者对cygwin产生了兴趣。本
文将对其作一介绍。
2 机理
cygnus当初首先把gcc,gdb,gas等开发工具进行了改进,使他们能够生成并解释
win32的目标文件。然后,他们要把这些工具移植到 windows平台上去。一种方案是基
于win32 api对这些工具的源代码进行大幅修改,这样做显然需要大量工作。因此,他们
采取了一种不同的方法——他们写了一个共享库(就是cygwin dll),把win32 api中没有
的unix风格的调用(如fork,spawn,signals,select,sockets等)封装在里面,也就是说,
他们基于 win32 api写了一个unix系统库的模拟层。这样,只要把这些工具的源代码和
这个共享库连接到一起,就可以使用unix主机上的交叉编译器来生成可以在 windows平
台上运行的工具集。以这些移植到windows平台上的开发工具为基础,cygnus又逐步把
其他的工具(几乎不需要对源代码进行修改,只需要修改他们的配置脚本)软件移植到
windows上来。这样,在windows平台上运行bash和开发工具、用户工具,感觉好像
在unix上工作。
关于cygwin实现的更详细描述,请参考
/cygwin-ug-net/.
3 安装设置cygwin
3.1 安装
要安装网络版的cygwin,可以到,点击"Install Cygwin Now!"。
这样会先下载一个叫做的GUI安装程序,用它能下载一个完整的cygwin。按
照每一屏的指示可以方便的进行安装。
3.2 环境变量
开始运行bash之前,应该设置一些环境变量。cygwin提供了一个.bat文件,里面已
经设置好了最重要的环境变量。通过它来启动bash是最安全的办法。这个.bat文件安装
在cygwin所在的根目录下。 可以随意编辑该文件。
CYGWIN变量用来针对cygwin运行时系统进行多种全局设置。开始时,可以不设置
CYGWIN或者在执行bash前用类似下面的格式在dos框下把它设为tty
C:> set CYGWIN=tty notitle glob
PATH变量被cygwin应用程序作为搜索可知性文件的路径列表。当一个cygwin进程
启动时,该变量被从windows格式(e.g. C:WinNTsystem32;C:WinNT)转换成unix格
式(e.g., /WinNT/system32:/WinNT)。如果想在不运行bash的时候也能够使用cygwin
工具集,PATH起码应该包含x:cygwin bin,其中x:cygwin 是你的系统中的cygwin
目录。
HOME变量用来指定主目录,推荐在执行bash前定义该变量。当cygwin进程启动
时,该变量也被从windows格式转换成unix格式,例如,作者的机器上HOME的值为
C:(dos命令set HOME就可以看到他的值,set HOME=XXX可以进行设置),在bash
中用echo $HOME看,其值为/cygdrive/c.
TERM变量指定终端型态。如果美对它进行设置,它将自动设为cygwin。
LD_LIBRARY_PATH被cygwin函数dlopen()作为搜索.dll文件的路径列表,该变量
也被从windows格式转换成unix格式。多数Cygwin应用程序不使用dlopen,因而不需
要该变量。
3.3 改变cygwin的最大存储容量
Cygwin程序缺省可以分配的内存不超过384 MB(program+data)。多数情况下不需
要修改这个限制。然而,如果需要更多实际或虚拟内存,应该修改注册表的
HKEY_LOCAL_MACHINE或HKEY_CURRENT_USER区段。田家一个DWORD键
heap_chunk_in_mb并把它的值设为需要的内存限制,单位是十进制MB。也可以用
cygwin中的regtool完成该设置。例子如下:
regtool -i set /HKLM/Software/Cygnus Solutions/Cygwin/heap_chunk_in_mb
1024
regtool -v list /HKLM/Software/Cygnus Solutions/Cygwin
4 使用cygwin
这一段讲一下cygwin和传统unix系统的不同之处。
4.1 映射路径名
4.1.1 引言
cygwin同时支持win32和posix风格的路径,路径分隔符可以是正斜杠也可以是反
斜杠。还支持UNC路径名。(在网络中,UNC是一种确定文件位置的方法,使用这种方
法用户可以不关心存储设备的物理位置,方便了用户使用。在Windows操作系统,Novell
Netware和其它操作系统中,都已经使用了这种规范以取代本地命名系统。在UNC中,
我们不用关心文件在什么盘(或卷)上,不用关心这个盘(或卷)所在服务器在什么地方。
我们只要以下面格式就可以访问文件:
服务器名共享名路径文件名
共享名有时也被称为文件所在卷或存储设备的逻辑标识,但使用它的目的是让用户不
必关心这些卷或存储设备所在的物理位置。)
符合posix标准的操作系统(如linux)没有盘符的概念。所有的绝对路径都以一个斜
杠开始,而不是盘符(如c:)。所有的文件系统都是其中的子目录。例如,两个硬盘,其中
之一为根,另一个可能是在/disk2路径下。
因为许多unix系统上的程序假定存在单一的posix文件系统结构,所以cygwin专门
维护了一个针对win32文件系统的内部posix视图,使这些程序可以在windows下正确
运行。在某些必要的情况下,cygwin会使用这种映射来进行win32和posix路径之间的
转换。
4.1.2 cygwin mount表
cygwin中的mount程序用来把win32盘符和网络共享路径映射到cygwin的内部
posix目录树。这是与典型unix mount程序相似的概念。对于那些对unix不熟悉而具有
windows背景的的人来说,mount程序和早期的dos命令join非常相似,就是把一个盘
符作为其他路径的子目录。
路径映射信息存放在当前用户的cygwin mount表中,这个mount table 又在
windows的注册表中。这样,当该用户下一次登录进来时,这些信息又从注册表中取出。
mount 表分为两种,除了每个用户特定的表,还有系统范围的mount表,每个cygwin
用户的安装表都继承自系统表。系统表只能由拥有合适权限的用户(windows nt的管理
员)修改。
当前用户的mount表可以在注册表"HKEY_CURRENT_USER/Software/Red Hat,
Inc./Cygwin/mounts v" 下看到。系统表
存在HKEY_LOCAL_MACHINE下。
posix根路径/缺省指向系统分区,但是可以使用mount命令重新指向到windows
文件系统中的任何路径。cygwin从win32路径生成 posix路径时,总是使用mount表
中最长的前缀。例如如果c:被同时安装在/c和/,cygwin将把C:/foo/bar转换成
/c/foo/bar.
如果不加任何参数地调用mount命令,会把Cygwin当前安装点集合全部列出。在
下面的例子中,c盘是POSIX根,而d盘被映射到/d。本例中,根是一个系统范围的安装
点,它对所有用户都是可见的,而/d仅对当前用户可见。
c:> mount
f:cygwinbin on /usr/bin type system (binmode)
f:cygwinlib on /usr/lib type system (binmode)
f:cygwin on / type system (binmode)
e:src on /usr/src type system (binmode)
c: on /cygdrive/c type user (binmode,noumount)
e: on /cygdrive/e type user (binmode,noumount)
还可以使用mount命令增加新的安装点,用umount删除安装点。
当Cygwin不能根据已有的安装点把某个win32路径转化为posix路径时,cygwin
会自动把它转化到一个处于缺省posix路径 /cygdrive下的的一个安装点. 例如,如果
Cygwin 访问Z:foo,而Z盘当前不在安装表内,那么Z:将被自动转化成/cygdrive/Z.
可以给每个安装点赋予特殊的属性。自动安装的分区显示为“auto”安装。安装点还
可以选择是"textmode"还是 "binmode",这个属性决定了文本文件和二进制文件是否按
同样的方式处理。
4.1.3 其他路径相关信息
cygpath工具提供了在shell脚本中进行win32-posix路径格式转换的能力。
HOME, PATH,和LD_LIBRARY_PATH环境变量会在cygwin进程启动时自动被从
Win32格式转换成了POSIX格式(例如,如果存在从该win32路径到posix路径的安装,
会把c:cygwinbin转为/bin)。
版权声明:本文标题:Cygwin使用指南 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1710929226a580021.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论